2016-11-05 78 views
1

使用Python 2.7.12+(默认值为1)和virtualenv 15.0.3(sudo -H pip install virtualenv)运行Ubuntu 16.10。我究竟做错了什么?强制使用virtualenv pip

$ virtualenv a && . "$_"/bin/activate && pip --version 
New python executable in /tmp/a/bin/python 
Installing setuptools, pip, wheel...done. 
pip 9.0.0 from /usr/local/lib/python2.7/dist-packages (python 2.7) 
$ /tmp/a/bin/pip --version 
pip 9.0.0 from /usr/local/lib/python2.7/dist-packages (python 2.7) 
$ /tmp/a/bin/python -c 'from pip import __file__; print __file__' 
/usr/local/lib/python2.7/dist-packages/pip/__init__.pyc 
+0

你确定激活(采购)工作100%?打印环境变量并检查确实是这种情况。你在用哪种外壳(我认为是BASH)?难道是你被拒绝设置(一些)环境变量? –

+0

只需在GNOME Terminal中定期打开4.3.46(1)发布。当我激活virtualenv时,它出现在我的'env'输出中:'VIRTUAL_ENV =/tmp/a'。 –

回答

0

您试过拨打$venv/bin/python $venv/lib/site-packages/pip/__main__.py?这应该工作。

要找出错误的点子被调用,你应该看看:

  • $PATH,什么样的顺序是,which pipwhich python也将帮助
  • sys.path,什么样的顺序是,不在VENV
  • $PYTHONPATH,从而影响在VENV sys.path
  • 可能的符号链接,这可能指向前/usr/local/lib/出现外面的venv
+0

谢谢是'PYTHONPATH'就是这个问题,在这里找到它:https://groups.google.com/forum/#!topic/comp.lang.python/5lcq8P2REE –