检查管道是否安装?

我正在使用Python 2.7.12,我想检查pip是否已经安装。为此,我在Python应用程序的命令行中写了pip list并按了回车键。然而,我得到了一个错误,比如:

File"stdin",line 1

pip list

Syntax Error: invalid syntax

那么,我怎样才能解决这个问题并获得模块列表作为输出?

谢谢

你需要在bash中运行pip list,而不是在python中。

pip list
DEPRECATION: Python 2.6 is no longer supported by the Python core team, please upgrade your Python. A future version of pip will drop support for Python 2.6
argparse (1.4.0)
Beaker (1.3.1)
cas (0.15)
cups (1.0)
cupshelpers (1.0)
decorator (3.0.1)
distribute (0.6.10)
---and other modules
评论(0)

pip list是一个shell命令。你应该在你的shell(bash/cmd)中运行它,而不是从python解释器中调用它。

如果你想从python脚本中运行,你需要先导入pip模块:

import pip
pip.get_installed_distributions()

然而,如果你只想检查pip是否存在于本地,并且你运行的是Linux,我建议你使用bash'的which命令:

which pip

它应该显示在bash'的PATH/aliases中是否能找到该命令,如果能找到,它实际执行的是什么。

如果你真的需要从Python脚本中执行,你可以把导入语句放在try...except块中:

try:
    import pip
except ImportError:
    print("Pip not present.")
评论(0)

在CMD中,键入:

pip freeze

它将显示所有已安装模块的列表,包括版本号。

输出:

aiohttp==1.1.4
async-timeout==1.1.0
cx-Freeze==4.3.4
Django==1.9.2
django-allauth==0.24.1
django-cors-headers==1.2.2
django-crispy-forms==1.6.0
django-robots==2.0
djangorestframework==3.3.2
easygui==0.98.0
future==0.16.0
httpie==0.9.6
matplotlib==1.5.3
multidict==2.1.2
numpy==1.11.2
oauthlib==1.0.3
pandas==0.19.1
pefile==2016.3.28
pygame==1.9.2b1
Pygments==2.1.3
PyInstaller==3.2
pyparsing==2.1.10
pypiwin32==219
PyQt5==5.7
pytz==2016.7
requests==2.9.1
requests-oauthlib==0.6
six==1.10.0
sympy==1.0
virtualenv==15.0.3
xlrd==1.0.0
yarl==0.7.0
评论(3)