问题:“错误:选项-无法识别单一版本-外部版本管理”表示什么?
我error: option --single-version-externally-managed not recognized
在加入pip install
varions软件包(包括PyObjC
和astropy
)时似乎突然开始遇到错误。我以前从未见过此错误,但现在它也出现在travis-ci构建中,但没有任何更改。
此错误是否表示已过期?还是某些错误指定的选项setup.py
?还是完全其他?
回答 0
新更新:
安装最新版本的setuptools
。如果仍然出现错误,请wheel
同时安装。
pip install -U setuptools
pip install -U wheel
原始答案/更多详细信息:
--single-version-externally-managed
是用于Python软件包的选项,指示setuptools模块创建一个Python软件包,如果需要,可以由主机的软件包管理器轻松地管理它,例如Yum或Apt。
如果您看到此消息,则可能是旧版本的setuptools或Python。尝试使用Distribute,它是setuptools的较新版本,并且向后兼容。这些软件包可能希望您已经拥有它。
https://pypi.python.org/pypi/distribute
编辑:至此,分发已经合并到主setuptools
项目中。只需安装最新版本的setuptools
。正如@wynemo指出的那样,您可能希望使用该--egg
选项,因为它更适合那些不希望创建要分发的系统软件包的手动安装人员。
回答 1
添加--egg
选项
pip install --egg SCons
我使用pip
1.4.1版
回答 2
安装wheel
最近解决了这个问题pip
(我使用的是8.1.2):
pip install wheel
回答 3
尝试像这样升级setuptools:
pip install --upgrade setuptools
回答 4
我有这个问题。原来,我的pip缓存中的文件权限存在问题。
如果您在pip输出的开头看到一条消息,例如
The directory '/home/ubuntu/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/ubuntu/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
您可能有同样的问题。您可以通过确保对pip缓存具有适当的文件权限(例如chown -R $(whoami) /home/ubuntu/.cache/pip
)来解决它,或者,如果您使用的是UNIX,则可以使用XDG_CACHE_HOME
env var 将pip缓存位置设置为您拥有的某个文件夹。
回答 5
我尝试了上述解决方案。但是,只有执行以下操作,我才能解决该问题:
sudo pip3 install -U pip
(对于python3)
回答 6
当我尝试升级一个python软件包时,我的macbook上也出现此问题。我在OS X中检查了pip版本,它太旧了:1.1。我使用Follow cmd将pip升级到1.5.6
easy_install -U pip
然后,此错误将得到解决。