我如何找到我的站点包目录的位置?


当前回答

您应该尝试这个命令来确定pip的安装位置

Python 2

pip show six | grep "Location:" | cut -d " " -f2

Python 3

pip3 show six | grep "Location:" | cut -d " " -f2

其他回答

您应该尝试这个命令来确定pip的安装位置

Python 2

pip show six | grep "Location:" | cut -d " " -f2

Python 3

pip3 show six | grep "Location:" | cut -d " " -f2

解决方案:

在virtualenv之外-提供全局站点包的路径, 在virtualenv内部-提供virtualenv的站点包

...这是一行代码:

python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"

格式化为可读性(而不是作为一行程序使用),看起来如下所示:

from distutils.sysconfig import get_python_lib
print(get_python_lib())

来源:一个非常旧的“如何安装Django”文档(尽管这不仅仅对安装Django有用)

之前没有提到的一些东西,我认为是有用的,如果你安装了两个版本的Python,比如3.8和3.5,在你的机器上可能有两个名为site-packages的文件夹。在这种情况下,您可以使用以下命令指定python版本:

py -3.5 -c "import site; print(site.getsitepackages()[1])

对于那些正在使用诗歌的人,你可以通过诗歌调试找到你的虚拟环境路径:

$ poetry debug

Poetry
Version: 1.1.4
Python:  3.8.2

Virtualenv
Python:         3.8.2
Implementation: CPython
Path:           /Users/cglacet/.pyenv/versions/3.8.2/envs/my-virtualenv
Valid:          True

System
Platform: darwin
OS:       posix
Python:   /Users/cglacet/.pyenv/versions/3.8.2

使用这些信息,您可以列出站点包:

ls /Users/cglacet/.pyenv/versions/3.8.2/envs/my-virtualenv/lib/python3.8/site-packages/

老问题的答案。但是使用ipython。

pip install ipython
ipython 
import imaplib
imaplib?

这将给出以下关于imaplib包-的输出

Type:        module
String form: <module 'imaplib' from '/usr/lib/python2.7/imaplib.py'>
File:        /usr/lib/python2.7/imaplib.py
Docstring:  
IMAP4 client.

Based on RFC 2060.

Public class:           IMAP4
Public variable:        Debug
Public functions:       Internaldate2tuple
                        Int2AP
                        ParseFlags
                        Time2Internaldate