pip 在哪里安装它的包?
Where does pip install its packages?
我激活了安装了 pip 的 virtualenv。我做到了
pip3 install Django==1.8
Django 下载成功。现在,我想打开 Django 文件夹。文件夹位于何处?
通常它会在“下载”中,但我不确定如果我在 virtualenv 中使用 pip 安装它会在哪里。
pip 当与 virtualenv 一起使用时,通常会在路径 <virtualenv_name>/lib/<python_ver>/site-packages
.
中安装包
例如,我用 Python 2.7 创建了一个名为 venv_test 的测试 virtualenv,django
文件夹位于 venv_test/lib/python2.7/site-packages/django
.
pip show <package name>
将为 Windows 和 macOS 提供位置,我猜是任何系统。 :)
例如:
> pip show cvxopt
Name: cvxopt
Version: 1.2.0
...
Location: /usr/local/lib/python2.7/site-packages
默认情况下,在 Linux,Pip 将软件包安装到 /usr/local/lib/python2.7/dist-packages.
在安装过程中使用 virtualenv 或 --user 将更改此默认位置。如果您使用 pip show
,请确保您使用的是正确的用户,否则 pip
可能看不到您引用的包。
在Python解释器或脚本中,你可以
import site
site.getsitepackages() # List of global package locations
和
site.getusersitepackages() # String for user-specific package location
第三方包(不在核心 Python 发行版中的包)安装到的位置。
在我 Homebrew-installed Python macOS 上,前者输出
['/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages']
,
规范化为 pip show
输出的相同路径,如前一个答案所述:
$ 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
pip list -v
可用于列出软件包的安装位置,在 https://pip.pypa.io/en/stable/news/#b1-2018-03-31
中引入
Show install locations when list command ran with “-v” option. (#979)
>pip list -v
Package Version Location Installer
------------------------ --------- -------------------------------------------------------------------- ---------
alabaster 0.7.12 c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
apipkg 1.5 c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
argcomplete 1.10.3 c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
astroid 2.3.3 c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
...
此功能在 pip
10.0.0b1 中引入。在 Ubuntu 18.04 (Bionic Beaver) 上,pip
或 pip3
安装了 sudo apt install python-pip
或 sudo apt install python3-pip
是 9.0.1,没有此功能。
检查 https://github.com/pypa/pip/issues/5599 以找到合适的升级方式 pip
或 pip3
。
最简单的方法可能是
pip3 -V
这将向您显示 pip 的安装位置以及您的软件包所在的位置。
可以导入包然后查阅它的帮助
import statsmodels
help(sm)
在帮助的最底部有一个部分 FILE
指示此包的安装位置。
此解决方案至少使用 matplotlib (3.1.2) 和 statsmodels (0.11.1) (python 3.8.2) 进行了测试。
最安全的方法是通过您正在执行的特定 python
调用 pip
。如果您直接 运行 pip show pip
,它调用的 pip
可能与 python
调用的不同。示例:
$ 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 的 virtualenv。我做到了
pip3 install Django==1.8
Django 下载成功。现在,我想打开 Django 文件夹。文件夹位于何处?
通常它会在“下载”中,但我不确定如果我在 virtualenv 中使用 pip 安装它会在哪里。
pip 当与 virtualenv 一起使用时,通常会在路径 <virtualenv_name>/lib/<python_ver>/site-packages
.
例如,我用 Python 2.7 创建了一个名为 venv_test 的测试 virtualenv,django
文件夹位于 venv_test/lib/python2.7/site-packages/django
.
pip show <package name>
将为 Windows 和 macOS 提供位置,我猜是任何系统。 :)
例如:
> pip show cvxopt
Name: cvxopt
Version: 1.2.0
...
Location: /usr/local/lib/python2.7/site-packages
默认情况下,在 Linux,Pip 将软件包安装到 /usr/local/lib/python2.7/dist-packages.
在安装过程中使用 virtualenv 或 --user 将更改此默认位置。如果您使用 pip show
,请确保您使用的是正确的用户,否则 pip
可能看不到您引用的包。
在Python解释器或脚本中,你可以
import site
site.getsitepackages() # List of global package locations
和
site.getusersitepackages() # String for user-specific package location
第三方包(不在核心 Python 发行版中的包)安装到的位置。
在我 Homebrew-installed Python macOS 上,前者输出
['/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages']
,
规范化为 pip show
输出的相同路径,如前一个答案所述:
$ 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
pip list -v
可用于列出软件包的安装位置,在 https://pip.pypa.io/en/stable/news/#b1-2018-03-31
Show install locations when list command ran with “-v” option. (#979)
>pip list -v
Package Version Location Installer
------------------------ --------- -------------------------------------------------------------------- ---------
alabaster 0.7.12 c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
apipkg 1.5 c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
argcomplete 1.10.3 c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
astroid 2.3.3 c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
...
此功能在 pip
10.0.0b1 中引入。在 Ubuntu 18.04 (Bionic Beaver) 上,pip
或 pip3
安装了 sudo apt install python-pip
或 sudo apt install python3-pip
是 9.0.1,没有此功能。
检查 https://github.com/pypa/pip/issues/5599 以找到合适的升级方式 pip
或 pip3
。
最简单的方法可能是
pip3 -V
这将向您显示 pip 的安装位置以及您的软件包所在的位置。
可以导入包然后查阅它的帮助
import statsmodels
help(sm)
在帮助的最底部有一个部分 FILE
指示此包的安装位置。
此解决方案至少使用 matplotlib (3.1.2) 和 statsmodels (0.11.1) (python 3.8.2) 进行了测试。
最安全的方法是通过您正在执行的特定 python
调用 pip
。如果您直接 运行 pip show pip
,它调用的 pip
可能与 python
调用的不同。示例:
$ 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