Python 与virtualenv的setuptools版本不同
这是我的Windows安装程序Python 与virtualenv的setuptools版本不同,python,virtualenv,setuptools,easy-install,Python,Virtualenv,Setuptools,Easy Install,这是我的Windows安装程序 c:\Python27:通过官方msi安装 setuptools:通过python setup.py安装安装(发件人:) pip:通过python get pip.py安装(从) virtualenv:通过python setup.py安装安装(发件人:) 使用以下命令创建virtualenv:virtualenv--no site packages myenv 现在,setuptools在以下两种情况下显示了不同的版本: 打开shell并运行pip列表: p
:通过官方msi安装c:\Python27
:通过setuptools
python setup.py安装安装(发件人:)
:通过pip
python get pip.py安装(从)
:通过virtualenv
(发件人:)python setup.py安装安装
- 使用以下命令创建virtualenv:
virtualenv--no site packages myenv
setuptools
在以下两种情况下显示了不同的版本:
pip列表
:pip(1.4.1)
设置工具(1.1.5)
virtualenv(1.10.1)
activate
virtualenv&运行pip列表pip(1.4.1)
设置工具(0.9.8)
setuptool
在virtualenv中显示版本0.9.8,而我安装了版本1.1.5,如全局路径所示
更新:
我尝试了@Rod的建议,结果奏效了。但我的计划失败了。我希望在回答中提到警告。我在这里加上这个,这样其他人就不会像我一样浪费时间了。如果在创建virtualenv时使用选项--no setuptools
,则在激活virtualenv后,pip将全局安装软件包
我的项目有一些依赖项是通过pip install
安装的。它们停止工作(即MySQLdb适配器)。当我创建另一个没有--no setuptools
选项的virtualenv时,它开始工作
为什么setuptool在virtualenv中显示0.9.8版
是否已安装版本1.1.5,如全局路径所示
所看到的不同setuptools版本是由于virtualenv将setuptools的一个版本捆绑在其存档中(版本1.10.1与setuptools 0.9.8捆绑在一起)。本地setuptools是从存档中安装的,以避免访问网络
在virtualenv中使用不同版本的setuptools应该不是问题
更改版本
如果必须更改版本,则当前无法强制下载其他版本的setuptools,只能解压缩tar文件并用更新版本替换virtualenv-1.10.1\virtualenv_support
中的setuptools存档
最终,您将能够使用该选项指定包含要使用的其他版本的setuptools的目录,但该功能当前不起作用
注意:如果在创建Virtualenv时未指定
--无setuptools
,Virtualenv将安装自己版本的setuptools。显然,使用选项--no setuptools
将不会安装setuptools或pip。它很可能会破坏virtualenv提供的封装(如OP所述)。您是否安装了多个版本的python?没有,只有python 2.7。Clean installSame as:我想知道为什么它在使用旧版本覆盖之前不检查现有的setuptools包。使用--无设置工具
是否有任何负面影响?当我已经在全球范围内使用它时,会更新回答以更清楚地说明--无设置工具
是作为信息而不是解决方案提供的。