`pip install` 是否将当前目录添加到 PYTHONPATH?

jw1*_*294 3 python pip

如果我有一个包含setup.py文件的 python 项目,我可以运行pip install --user -e .. 这将安装安装文件中列出的所有要求,并将当前项目添加到我的 pip 列表中:

$ pip show project-name                                                                                
Name: project-name                                                                                    
Version: 1.0.0                                                                             
Summary: None                                                                                                                             
Location: /path-to-project/                    
Requires: matplotlib, numpy, scipy, ...                                                    
Required-by:   
Run Code Online (Sandbox Code Playgroud)

默认情况下,这会添加\path-to-project\到用户 PYTHONPATH 中,还是您必须手动执行此操作,以便您可以import project-name从系统上的任何位置导入代码?

Mar*_*ers 6

不,pip不会改变PYTHONPATH,你也不需要。pip而是在安装项目时使用 Python 设置的标准路径。您无需进行任何更改,运行pip install --user.

安装的项目-e使用egg 链接文件并添加到.pth标准位置的文件中。显示的位置列在一个project-name.egg-link文件中(实际上只是一个用于跟踪包的元数据),并且相同的路径被添加到easy-install.pth同一目录中的文件中。Python 会.pth在启动时自动将文件中列出的任何路径添加到模块搜索路径中(这由site模块处理)。

运行时也使用相同的一组标准路径来查找项目pip show;该命令有效表明该项目在 Python 模块搜索路径上,并已正确安装。

您可以通过运行来验证路径python -m site。因为您使用--user交换机安装了软件包,所以pip使用的位置在那里显示为USER_SITE路径。检查该路径以查找*.egg-linkeasy-install.pth文件。