ValueError "Expected version spec" when installing local wheel via pip

23,289

Solution 1

I was using a very out-of-date version of PIP.

$ pip -V
pip 1.3.1 from C:\Python27\lib\site-packages (python 2.7)

I upgraded to pip 6.0.8 and all is well.

Solution 2

Using the Ubuntu 14.04 AMI on AWS, I found I had to upgrade setuptools:

sudo pip3 install -vU setuptools
Share:
23,289
tbhartman
Author by

tbhartman

Updated on January 28, 2020

Comments

  • tbhartman
    tbhartman over 4 years

    I have a closed-source Python module I am developing and would like to share with people in my workplace. I have built a wheel via setup.py bdist_wheel with this setup.py file:

    #!/usr/bin/env python
    
    from setuptools import setup, find_packages
    
    setup(name='mypkg',
          version='0.0.1',
          description='tools for work',
          author='tbhartman',
          packages=find_packages('src', exclude=['test*']),
          package_dir = {'':'src'},
          entry_points={
              'console_scripts':[
                  'runtool = mypkg.run:main',
                  ],
              },
          install_requires = ['argparse'],
          classifiers = [
              'Development Status :: 3 - Alpha',
              'Programming Language :: Python :: 2',
              ]
         )
    

    I want to test the installation process, so I try pip install dist\mypkg-0.0.1-py2-none-any.whl and get the following traceback:

    Exception:
    Traceback (most recent call last):
      File "C:\Python27\lib\site-packages\pip\basecommand.py", line 139, in main
        status = self.run(options, args)
      File "C:\Python27\lib\site-packages\pip\commands\install.py", line 235, in run
        InstallRequirement.from_line(name, None))
      File "C:\Python27\lib\site-packages\pip\req.py", line 118, in from_line
        return cls(req, comes_from, url=url)
      File "C:\Python27\lib\site-packages\pip\req.py", line 43, in __init__
        req = pkg_resources.Requirement.parse(req)
      File "build\bdist.win32\egg\pkg_resources\__init__.py", line 2929, in parse
        reqs = list(parse_requirements(s))
      File "build\bdist.win32\egg\pkg_resources\__init__.py", line 2876, in parse_requirements
        "version spec")
      File "build\bdist.win32\egg\pkg_resources\__init__.py", line 2841, in scan_list
        raise ValueError(msg, line, "at", line[p:])
    ValueError: ('Expected version spec in', 'dist/mypkg-0.0.1-py2-none-any.whl', 'at', '/mypkg-0.0.1-py2-none-any.whl')
    
    Storing complete log in C:\Users\tbhartman\pip\pip.log
    

    What is the problem and how to I fix it?