pip在哪里安装它的包?

use*_*875 253 python django pip virtualenv

我激活了一个安装了pip的virtualenv.我做到了

pip3 install Django==1.8
Run Code Online (Sandbox Code Playgroud)

和Django成功下载.现在,我想打开Django文件夹.文件夹位于何处?通常它会在"下载"中,但我不确定如果我在virtualenv中使用pip安装它会是什么.

gdb*_*dbj 450

根据受欢迎的需求,通过发布的答案提供选项:

pip show <package name>将提供Windows和macOS的位置,我猜任何系统.:)

例如:

> pip show cvxopt
Name: cvxopt
Version: 1.2.0
...
Location: /usr/local/lib/python2.7/site-packages
Run Code Online (Sandbox Code Playgroud)

  • 在Mac上,这向我展示了一个带有awscli源代码的目录,但没有二进制文件.:/ (13认同)
  • 正确,但要完全符合问题,它应该是`pip3 show <package name>` (7认同)
  • @CoryKlein而不是`site-packages /`,而是在〜/ Library / Python / 3.7 / bin /`中找到的 (6认同)
  • 我在 Windows 上使用 python 3.6,“pip”指的是 python 3 的 pip。我不需要指定“pip3”。 (2认同)
  • 对于Ubuntu 18.04表现很好 (2认同)

Eli*_*iko 121

pip list -v可用于列出包的安装位置,在https://pip.pypa.io/en/stable/news/#b1-2018-03-31 中介绍

使用“-v”选项运行 list 命令时显示安装位置。(#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
...
Run Code Online (Sandbox Code Playgroud)

此功能是在pip10.0.0b1 中引入的。在Ubuntu 18.04 (Bionic Beaver) 上,pip或者pip3安装了9.0.1sudo apt install python-pip或者sudo apt install python3-pip没有这个功能。

检查https://github.com/pypa/pip/issues/5599以获取合适的升级方式pippip3.

  • 不幸的是,这在 Ubuntu 18.04LTS 上不起作用 (6认同)
  • 对我来说,它不显示安装位置(在 Linux Mint 19.3 上) (5认同)
  • 使用“sudo apt install python-pip”或“sudo apt install python3-pip”安装的“pip”是9.0.1。检查 https://github.com/pypa/pip/issues/5599 了解升级 `pip` 或 `pip3` 的合适方法。 (2认同)

kha*_*son 93

当与virtualenv一起使用时,pip通常会在路径中安装包<virtualenv_name>/lib/<python_ver>/site-packages.

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

  • 有时您可能不知道 virtualenv 名称/路径,例如与 Jupyterhub/binderhub 产生的资源一起使用。我找到了 #1 [here](https://blog.revathskumar.com/2011/10/python-list-all-packages-installed.html) 在 `pip show` 什么都不做时工作的方法。简而言之,它包括进入适当的 python 控制台并键入 `help("module_name")`,其中 `module_name` 被替换为您感兴趣的实际模块名称。您可以在 python 控制台中使用 `help("modules")` 查看已安装的模块。 (7认同)
  • 您以哪种方式构建了 virtualenv?我正在使用 conda 创建我的虚拟环境,而 pip3 没有在您提到的文件夹中安装软件包 (2认同)
  • 当时(大约 4 年前),我使用的是 *virtualenv* 和 Python 2.x。现在,我使用 venv 和 Python 3.5.x。不过,我仍然发现相同的常规文件夹结构。对于 Anaconda,这是一个精心策划的、独特的发行版,因此它可能会以不同的方式(至少部分地)构建事物。 (2认同)

小智 46

最简单的方法可能是

pip3 -V
Run Code Online (Sandbox Code Playgroud)

这将显示您的 pip 安装位置以及您的软件包所在的位置。

  • 直接调用“pip”可能并不总是给出正确的答案。使用特定的“python”可执行文件调用“pip”更好,例如“python -m pip -V”请参阅/sf/ask/2098655891/# 69035259 (2认同)

wis*_*cky 27

最安全的方法是调用您正在执行的pip特定内容。python如果直接运行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
Run Code Online (Sandbox Code Playgroud)

下面的示例展示了它们的不同之处:

$ 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
Run Code Online (Sandbox Code Playgroud)


flo*_*w2k 15

在 Python 解释器或脚本中,您可以执行以下操作

import site
site.getsitepackages() # List of global package locations
Run Code Online (Sandbox Code Playgroud)

site.getusersitepackages() # String for user-specific package location
Run Code Online (Sandbox Code Playgroud)

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

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

['/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
Run Code Online (Sandbox Code Playgroud)

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


Cog*_*Ape 7

默认情况下,在Linux上,Pip将软件包安装到/usr/local/lib/python2.7/dist-packages。

在安装过程中使用virtualenv或--user将更改此默认位置。如果使用,请pip show确保使用正确的用户,否则pip可能看不到您所引用的软件包。

  • Linux:以 root 身份在“python3”中安装软件包 - 不推荐 - 将进入“/usr/local/lib/python3.9/site-packages/”。作为普通用户,他们将进入“/home/normaluser/.local/lib..”。我想知道 `/root/.local/lib..` 是做什么用的。 (4认同)

Gae*_*eul 7

一个可以导入包然后咨询它的帮助

import statsmodels
help(sm)
Run Code Online (Sandbox Code Playgroud)

在帮助的最底部有一个部分FILE指示此软件包的安装位置。

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

  • 我的天啊。我希望我几个月前就知道“help()”!我什至编写了自己的代码来转储“__doc__”。现在我已经上瘾了。我每天做 20 次“帮助(一切)”。**帮助!** (3认同)

rof*_*rol 6

% python -c "import sysconfig; print(sysconfig.get_path('purelib'))"
/opt/homebrew/lib/python3.11/site-packages
% pip show yt-dlp
Name: yt-dlp
Version: 2023.3.4
Summary: A youtube-dl fork with additional features and patches
Home-page: https://github.com/yt-dlp/yt-dlp
Author:
Author-email:
License:
Location: /opt/homebrew/lib/python3.11/site-packages
Requires: brotli, certifi, mutagen, pycryptodomex, websockets
Required-by:
Run Code Online (Sandbox Code Playgroud)

如何找到 Python site-packages 目录的位置?

或更短python -m pip show pip

pip 在哪里安装它的软件包?