【问题标题】:"pip freeze" gives different modules from "help('modules')"“pip freeze”给出了与“help('modules')”不同的模块
【发布时间】:2015-06-24 14:12:43
【问题描述】:

我尝试了this answer 的多种解决方案,它们似乎给出了不同的结果。我正在使用virtualenv,我想知道它是否与此有关。第一种方法,来自 python shell(在虚拟环境处于活动状态时):

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']

第二种方法,来自 bash shell,在虚拟环境处于活动状态时再次:

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,即使在尝试了他们的答案之后)。

【问题讨论】:

    标签: python mysql django bash virtualenv


    【解决方案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安装东西。

    【讨论】:

      猜你喜欢
      • 2019-12-17
      • 2013-11-07
      • 2012-02-07
      • 1970-01-01
      • 1970-01-01
      • 2020-03-09
      • 1970-01-01
      • 2012-03-15
      • 2019-12-24
      相关资源
      最近更新 更多