Я использую virtualenv
и pip
на Debian Wheezy. У меня возникла странная проблема, когда пакеты, как представляется, устанавливают ОК, но затем не отображаются в virtualenv.Установленные пакеты с пипсом не показаны в замерзании трубопровода?
Это мой requirements.txt
файл:
Django==1.7.7
psycopg2==2.5.4
django-geojson==2.6.0
Если установить его с pip
внутри моего virtualenv, он говорит, что было все установлено:
(.venv)$ sudo pip install -r requirements.txt
Requirement already satisfied (use --upgrade to upgrade): Django==1.7.7 in /usr/local/lib/python2.7/dist-packages (from -r requirements/base.txt (line 1))
Requirement already satisfied (use --upgrade to upgrade): psycopg2==2.5.4 in /usr/local/lib/python2.7/dist-packages (from -r requirements/base.txt (line 2))
Requirement already satisfied (use --upgrade to upgrade): django-geojson==2.6.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements/base.txt (line 3))
Requirement already satisfied (use --upgrade to upgrade): six in /usr/local/lib/python2.7/dist-packages (from django-geojson==2.6.0->-r requirements/base.txt (line 3))
Cleaning up...
Но если я pip freeze
проверить то, что установлено, похоже, что pip
считает, что у меня совершенно другой набор пакетов, и в частности он не видит djgeojson
:
(.venv)$ pip freeze
Django==1.7.4
argparse==1.2.1
coverage==3.7.1
distribute==0.6.24
django-debug-toolbar==1.2.1
gunicorn==19.3.0
psycopg2==2.5.4
requirements==0.1
setproctitle==1.1.8
sqlparse==0.1.14
wsgiref==0.1.2
И если я запускаю терминал Python, Python не может видеть djgeojson
.
Почему это происходит? Это довольно запутанно.
Я думаю, проблема в том, что pip устанавливает вещи в '/ usr/local/lib/python2.7/dist-packages', но тогда это не на' sys.path'. Но почему на самом деле пип выбирает устанавливать пакеты куда-то, что не по-своему? – Richard
Почему вы используете sudo для установки, а затем замерзаете без sudo? – Peter
ОК, если я запустил 'sudo pip freeze', я вижу те же версии пакетов. Так что же зависит от того, что «pip» зависит от того, какой пользователь Linux вы используете? Это ... удивительно. – Richard