Python virtualenv中的Pip版本
编辑: 问题是我安装了Python virtualenv中的Pip版本,python,pip,virtualenv,Python,Pip,Virtualenv,编辑: 问题是我安装了virtualenv==1.9,这是一个坏版本。在您尝试调试任何东西之前,我建议您升级软件包;-) 原件: 我发现pip和(可能)openssl有问题。简单的解决方法是将pip降级到1.2.1。这是可行的,但每次我使用VirtualEnvironment创建虚拟环境时,它都会安装pip 1.5.6,即当前版本的pip。如果安装djangocms安装程序,也会发生同样的情况,因此每次我安装与pip有依赖关系的东西时,我都必须再次检查/设置pip版本 有没有办法为virtual
virtualenv==1.9
,这是一个坏版本。在您尝试调试任何东西之前,我建议您升级软件包;-)
原件:
我发现pip和(可能)openssl有问题。简单的解决方法是将pip降级到1.2.1。这是可行的,但每次我使用VirtualEnvironment创建虚拟环境时,它都会安装pip 1.5.6,即当前版本的pip。如果安装djangocms安装程序,也会发生同样的情况,因此每次我安装与pip有依赖关系的东西时,我都必须再次检查/设置pip版本
有没有办法为virtualenv设置pip版本
是否有办法为该程序的每次安装设置“默认”版本
编辑:
操作系统:Mac OS 10.7.5
Python:2.7您遇到了一个问题,因为您正在降级
pip
,但可能不会更改virtualenv
安装默认pip
的行为。您将如何进行调试
virtualenv
脚本:
[~] type -a virtualenv
virtualenv is an alias for virtualenv --no-site-packages
virtualenv is /usr/local/bin/virtualenv
virtualenv
获取一些信息:
[~] head -n5 /usr/local/bin/virtualenv
#!/usr/local/opt/python/bin/python2.7
# EASY-INSTALL-ENTRY-SCRIPT: 'virtualenv==1.11.5','console_scripts','virtualenv'
__requires__ = 'virtualenv==1.11.5'
import sys
from pkg_resources import load_entry_point
virtualenv
正在使用位于/usr/local/opt/Python/bin
的Python 2.7安装
pip
:
[~] ls /usr/local/opt/python/bin | grep pip
pip
pip2
pip2.7
[~] /usr/local/opt/python/bin/pip -V
pip 1.5.6 from /usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site- packages/pip-1.5.6-py2.7.egg (python 2.7)
这就是为什么
虽然我强烈建议您解决SSL问题,而不是降级pip
,但您有一些选择:
A.在步骤3中找到的位置“全局”降级pip的版本。如果查看/usr/local/bin/pip
,您将看到以下内容:
#!/usr/local/opt/python/bin/python2.7
# EASY-INSTALL-ENTRY-SCRIPT: 'pip==1.5.6','console_scripts','pip'
__requires__ = 'pip==1.5.6'
import sys
from pkg_resources import load_entry_point
if __name__ == '__main__':
sys.exit(
load_entry_point('pip==1.5.6', 'console_scripts', 'pip')()
)
如果Python路径中有较旧版本的pip
(例如),您应该能够在\uuuuuu requires\uuuuu
和load\u entry\u点(…
行)上替换该版本
B.通过在创建virtualenv
时指定--no-pip
标志,告诉virtualenv
不要安装pip
。然后,您将负责将所需的pip
文件放入虚拟环境bin
和lib
文件夹中
C.到处降级pip
。当您安装较旧版本的pip
时,它要么最终位于错误的目录中,要么不是Python在执行virtualenv
设置时找到的第一个pip
。请小心调用与调用的virtualenv
相同的Python解释器
(还要注意的是,你可以通过编辑激活
脚本来“欺骗”虚拟环境,但你比我更勇敢。)太好了,给我一点时间,我会教你如何调试。试着玩符号链接,我承认这是一个错误。但它可以工作。谢谢你的回答。我希望能够按照你的调试指南进行调试,因为我的虚拟环境从库文件夹中获取python。atm我必须做一些工作,但我会尝试找到这个pip轻松安装入口脚本没有问题。路径不应该相同。我设法找到了ssl问题的解决方案,但我的virtualenvs中仍然有1.5.6个pip;-)编辑:如果有人有相同的ssl问题,请检查是否使用virtualenv 1.9,如果这样做,则必须更新它