2016-11-05 5 views
1

Ubuntu 16.10 mit Python 2.7.12+ (Standard eins) und virtualenv 15.0.3 (sudo -H pip install virtualenv) ausgeführt. Was mache ich falsch?Force virtualenv pip verwendet werden

$ 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

Sind Sie sicher, dass die Aktivierung (Sourcing) 100% funktioniert hat? Drucken Sie Umgebungsvariablen und prüfen Sie, ob dies tatsächlich der Fall ist. Welche Shell verwendest du (ich nehme BASH an)? Könnte es sein, dass Ihnen die Einstellung einiger (env) Variablen verweigert wird? –

+0

Nur reguläre Bash 4.3.46 (1) -Release in GNOME-Terminal. Wenn ich das virtualenv aktiviere, erscheint dies in meiner 'env' Ausgabe:' VIRTUAL_ENV =/tmp/a'. –

Antwort

0

Haben Sie versucht, $venv/bin/python $venv/lib/site-packages/pip/__main__.py zu rufen? Das sollte funktionieren.

Um herauszufinden, warum der falsche Pip genannt wird, sollte man sich:

  • $PATH, in welcher Reihenfolge sie ist, which pip und which python auch
  • sys.path, in welcher Reihenfolge sie helfen wird, tut /usr/local/lib/ erscheinen vor dem Venv
  • $PYTHONPATH, die sys.path
  • möglich Symlinks im Venv beeinflusst, die zeigen könnte außerhalb des venv
+0

Danke ja 'PYTHONPATH' war das Problem, hier gefunden: https://groups.google.com/forum/#!topic/comp.lang.python/5lIcq8P2REE –

Verwandte Themen