2015-06-24 2 views
0

Я пробовал несколько решений от this answer, и они, казалось, давали разные результаты. Я использую virtualenv, и мне было интересно, если это что-то связано с этим. Первый метод, из питона оболочки (в то время как виртуальная среда активна):«pip freeze» дает разные модули из «help ('modules») «

import pip 
installed_packages = pip.get_installed_distributions() 
installed_packages_list = sorted(["%s==%s" % (i.key, i.version) 
     for i in installed_packages]) 
print(installed_packages_list) 

Это дает выходной сигнал

['distribute==0.6.34', 'django==1.8.1', 'flup==1.0.3.dev-20110405', 'importlib==1.0.3'] 

Второй метод, с Баш оболочки, опять же в то время как виртуальная среда активные:

pip freeze 

Это дает следующий список:

Warning: cannot find svn location for flup==1.0.3.dev-20110405 
Django==1.8.1 
Ksplice-Uptrack==1.2.12 
MySQL-python==1.2.2 
PIL==1.1.7 
South==0.7.6 
distribute==0.6.34 
django-photologue==2.4 
dnspython==1.11.1 
ethtool==0.6 
## FIXME: could not find svn URL in dependency_links for this package: 
flup==1.0.3.dev-20110405 
importlib==1.0.3 
iniparse==0.3.1 
iotop==0.3.2 
iwlib==1.0 
mercurial==1.4 
pycurl==7.19.0 
pygpgme==0.1 
pyzor==1.0.0 
urlgrabber==3.9.1 
virtualenv==1.9.1 
yum-metadata-parser==1.1.2 

Может ли кто-нибудь объяснить, почему это происходит? В принципе, я хотел бы иметь возможность импортировать пакеты из второго списка, но я не могу (в частности, мой Django-сервер не может импортировать MySQLdb, например this question, даже после проверки их ответов).

ответ

1

понял, что проблема была ...

pip -V 

дал

pip 1.3.1 from /home/benjam15/.env/env/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg 
     (python 2.6) 

в то время как я использую Python 2.7. Последовал this post, так как команда по умолчанию «pip» по умолчанию была перенаправлена ​​на python 2.6, в то время как я действительно хотел, чтобы материал был установлен для python 2.7.

Смежные вопросы