Python 通过 pip 安装本地轮时出现 ValueError“预期版本规范”

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/28502283/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-19 03:19:57  来源:igfitidea点击:

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

pythonpython-2.7pippython-wheel

提问by tbhartman

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_wheelwith this setup.py file:

我有一个正在开发的闭源 Python 模块,想与我工作场所的人分享。我setup.py bdist_wheel用这个 setup.py 文件构建了一个轮子:

#!/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:

我想测试安装过程,所以我尝试 pip install dist\mypkg-0.0.1-py2-none-any.whl 并获得以下回溯:

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?

有什么问题,我该如何解决?

采纳答案by tbhartman

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

我使用的是一个非常过时的 PIP 版本。

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

I upgraded to pip 6.0.8and all is well.

我升级到pip 6.0.8,一切都很好。

回答by z0r

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

在 AWS 上使用 Ubuntu 14.04 AMI,我发现我必须升级setuptools

sudo pip3 install -vU setuptools