Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 与virtualenv的setuptools版本不同_Python_Virtualenv_Setuptools_Easy Install - Fatal编程技术网

Python 与virtualenv的setuptools版本不同

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

这是我的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列表

    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包。使用
    --无设置工具
    是否有任何负面影响?当我已经在全球范围内使用它时,会更新回答以更清楚地说明
    --无设置工具
    是作为信息而不是解决方案提供的。