Python中文
首页
教程
问答
标签
搜索
登录
注册
virtualenv不创建PYTHONPATH/pip安装的软件包
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我在Win7下对cygwin使用VirtualEnv1.9.1。每个virtualenv的创建没有任何选项(显然除了目录名)。没有特别的定制。在</p> <p>所有的virtualenv都是新鲜的,我没有创建任何包装脚本,也没有编辑任何virtualenv脚本。我完全确定我没有做任何特别的事情(即除了滥用virtualenv,而不是采取阻碍其运行的行动),这会导致PYTHONPATH在多个virtualenv中缺席。在</p> <p>每个新virtualenv的virtualenv激活脚本不会创建PYTHONPATH。pip在<code>$VIRTUAL_ENV/lib/python2.7/site-packages/<packagedir></code>下安装包(例如<code>lib/python2.7/site-packages/html5lib</code>)。在</p> <p>皮普的行为似乎令人满意。<strong>但是,运行python(在激活virtualenv之后)会导致没有pip安装的包可加载(即“没有名为…”的模块)。</strong></p> <p>更新:向<code>activate</code>添加PYTHONPATH确实“解决”了这个问题。显然,我不想手动维护它,也不必更新<code>activate_this.py</code>。我仍然想知道为什么现在虚拟机不能直接开箱即用。在</p> <p>解决办法是什么?virtualenv从来没有这样做过。现在怎么了?在</p> <p>更新2:以下是使用-vv运行virtualenv的输出:</p> <pre><code>$ virtualenv -vv newvirtualenv Creating newvirtualenv/lib/python2.7 Symlinking Python bootstrap modules Symlinking newvirtualenv/lib/python2.7/config Symlinking newvirtualenv/lib/python2.7/lib-dynload Symlinking newvirtualenv/lib/python2.7/os.py Ignoring built-in bootstrap module: posix Symlinking newvirtualenv/lib/python2.7/posixpath.py Cannot import bootstrap module: nt Symlinking newvirtualenv/lib/python2.7/ntpath.py Symlinking newvirtualenv/lib/python2.7/genericpath.py Symlinking newvirtualenv/lib/python2.7/fnmatch.py Symlinking newvirtualenv/lib/python2.7/locale.py Symlinking newvirtualenv/lib/python2.7/encodings Symlinking newvirtualenv/lib/python2.7/codecs.py Symlinking newvirtualenv/lib/python2.7/stat.py Symlinking newvirtualenv/lib/python2.7/UserDict.py File newvirtualenv/lib/python2.7/lib-dynload/readline.dll already exists Symlinking newvirtualenv/lib/python2.7/copy_reg.py Symlinking newvirtualenv/lib/python2.7/types.py Symlinking newvirtualenv/lib/python2.7/re.py Symlinking newvirtualenv/lib/python2.7/sre.py Symlinking newvirtualenv/lib/python2.7/sre_parse.py Symlinking newvirtualenv/lib/python2.7/sre_constants.py Symlinking newvirtualenv/lib/python2.7/sre_compile.py File newvirtualenv/lib/python2.7/lib-dynload/zlib.dll already exists Symlinking newvirtualenv/lib/python2.7/warnings.py Symlinking newvirtualenv/lib/python2.7/linecache.py Symlinking newvirtualenv/lib/python2.7/_abcoll.py Symlinking newvirtualenv/lib/python2.7/abc.py Symlinking newvirtualenv/lib/python2.7/_weakrefset.py Creating newvirtualenv/lib/python2.7/site-packages Writing newvirtualenv/lib/python2.7/site.py Writing newvirtualenv/lib/python2.7/orig-prefix.txt Writing newvirtualenv/lib/python2.7/no-global-site-packages.txt Creating parent directories for newvirtualenv/include Symlinking newvirtualenv/include/python2.7 Creating newvirtualenv/bin New python executable in newvirtualenv/bin/python2.7 Changed mode of newvirtualenv/bin/python2.7 to 0755 Also creating executable in newvirtualenv/bin/python Changed mode of newvirtualenv/bin/python to 0755 Testing executable with newvirtualenv/bin/python2.7 -c "import sys;out=sys.stdout;getattr(out, "buffer", out).write(sys.prefix.encode("utf-8"))" Got sys.prefix result: u'/cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv' Creating newvirtualenv/lib/python2.7/distutils Writing newvirtualenv/lib/python2.7/distutils/__init__.py Writing newvirtualenv/lib/python2.7/distutils/distutils.cfg Using existing setuptools egg: /usr/lib/python2.7/site-packages/virtualenv_support/setuptools-0.6c11-py2.7.egg Installing setuptools... Running command /cygdrive/c/Users/ma...ualenv/bin/python2.7 -c "#!python \"\"\"Bootstra...sys.argv[1:]) " -v /usr/lib/python2.7/s...ols-0.6c11-py2.7.egg Processing setuptools-0.6c11-py2.7.egg Copying setuptools-0.6c11-py2.7.egg to /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/lib/python2.7/site-packages Adding setuptools 0.6c11 to easy-install.pth file Saving /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/lib/python2.7/site-packages/easy-install.pth Installing easy_install script to /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/bin changing mode of /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/bin/easy_install to 755 Installing easy_install-2.7 script to /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/bin changing mode of /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/bin/easy_install-2.7 to 755 Installed /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg Processing dependencies for setuptools==0.6c11 Finished processing dependencies for setuptools==0.6c11 ...Installing setuptools...done. Installing existing pip-1.3.1.tar.gz distribution: /usr/lib/python2.7/site-packages/virtualenv_support/pip-1.3.1.tar.gz Installing pip... Running command /cygdrive/c/Users/ma...ualenv/bin/python2.7 -x /cygdrive/c/Users/ma...env/bin/easy_install /usr/lib/python2.7/s...ort/pip-1.3.1.tar.gz Processing pip-1.3.1.tar.gz Running pip-1.3.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-ZP_VIv/pip-1.3.1/egg-dist-tmp-H3XBh_ warning: no files found matching '*.html' under directory 'docs' warning: no previously-included files matching '*.txt' found under directory 'docs/_build' no previously-included directories found matching 'docs/_build/_sources' Adding pip 1.3.1 to easy-install.pth file Installing pip script to /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/bin Installing pip-2.7 script to /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/bin Installed /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg Processing dependencies for pip==1.3.1 Finished processing dependencies for pip==1.3.1 ...Installing pip...done. Writing newvirtualenv/bin/activate Writing newvirtualenv/bin/activate.fish Writing newvirtualenv/bin/activate_this.py Writing newvirtualenv/bin/activate.csh </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我唯一能想到的就是PYTHONPATH已经设置好了。由于Cygwin继承了Windows的所有环境变量,如果已经设置了PYTHONPATH,virtualenv将使用该变量而不是正确的目录。检查Windows下是否已设置PYTHONPATH。如果是,请删除它并再次尝试virtualenv。还要检查.bashrc文件,看看PYTHONPATH是否设置在那里。为什么不能使用普通的Python for Windows?你在写POSIX脚本吗?在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
合并Pandas字典DataFram
2 回答
合并pandas数据帧,使用列操作
5 回答
合并pandas数据帧,其中一个值位于另两个值之间
2 回答
合并pandas数据帧:在中创建的空列
7 回答
合并pandas数据帧:如何找出导致
1 回答
合并Pandas数据帧:选择较小的绝对值
5 回答
合并Pandas数据帧(左连接样式)会产生奇怪的结果
4 回答
合并Pandas数据帧中两列的值,应用函数进行重复数据消除和合并
2 回答
合并pandas数据帧中的2列,用前面的值填充nan
1 回答
合并Pandas数据帧会复制一些数据
4 回答
合并pandas数据帧列表
1 回答
合并pandas数据帧占用了太多内存
10 回答
合并pandas数据帧时如何保留列多索引值
2 回答
合并Pandas数据帧的所有列
9 回答
合并pandas数据帧而不更改原始列名
2 回答
合并Pandas数据框,如果字符串df2.domain出现在df.u中
3 回答
合并pandas数据框,无需按特定顺序排列
4 回答
合并pandas数据框中可变数量的行
7 回答
合并Pandas数据框作为分组后的结果
10 回答
合并Pandas时匹配子字符串
10 回答