我激活了一个安装了pip的virtualenv。我所做的

pip3 install Django==1.8

Django下载成功。现在,我要打开Django文件夹。文件夹位于哪里?

通常它会在“下载”中,但如果我在virtualenv中使用pip安装它,我不确定它会在哪里。


当前回答

你可以导入这个包,然后咨询它的帮助

import statsmodels
help(sm)

在帮助的最底部有一个FILE部分,指出这个包安装在哪里。

该解决方案至少使用matplotlib(3.1.2)和statsmodels (0.11.1) (python 3.8.2)进行了测试。

其他回答

在Python解释器或脚本中,您可以这样做

import site
site.getsitepackages() # List of global package locations

and

site.getusersitepackages() # String for user-specific package location

对于安装第三方包(不在核心Python发行版中的)的位置。

在macOS上我的homebrew安装的Python上,前者输出

[' / usr /地方/地窖/ python / 3.7.4 /框架/ Python.framework /版本/ 3.7 / lib / python3.7 /网站”),

这规范化到由PIP输出的相同路径显示,如之前的回答中所述:

$ readlink -f /usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages
/usr/local/lib/python3.7/site-packages

参考:https://docs.python.org/3/library/site.html # site.getsitepackages

最安全的方法是通过正在执行的特定python调用pip。如果直接运行pip show pip,它可能调用的pip与python调用的pip不同。例子:

$ python -m pip show pip
$ python3 -m pip show pip
$ /usr/bin/python -m pip show pip
$ /usr/local/bin/python3 -m pip show pip

下面的例子说明了它们的不同之处:

$ pip show pip

Location: /usr/local/lib/python3.9/site-packages

$ python -m pip show pip

Location: /Library/Python/2.7/site-packages

pip show <包名>将提供Windows和macOS的位置,我猜任何系统。:)

例如:

> pip show cvxopt
Name: cvxopt
Version: 1.2.0
...
Location: /usr/local/lib/python2.7/site-packages

当与virtualenv一起使用时,PIP通常会将包安装在<virtualenv_name>/lib/<python_ver>/site-packages路径下。

例如,我用Python 2.7创建了一个名为venv_test的测试virtualenv, django文件夹在venv_test/lib/python2.7/site-packages/django。

最简单的方法可能是

pip3 -V

这将显示安装pip的位置,从而显示软件包的位置。