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

时间:2018-08-28 14:40:38

标签: python pip

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

$ pip show project-name                                                                                
Name: project-name                                                                                    
Version: 1.0.0                                                                             
Summary: None                                                                                                                             
Location: /path-to-project/                    
Requires: matplotlib, numpy, scipy, ...                                                    
Required-by:   

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

1 个答案:

答案 0 :(得分:2)

否,pip不会更改PYTHONPATH,您也不需要这样做。安装项目时,pip使用Python设置的标准路径。您无需进行任何更改,运行pip install --user时就已将软件包安装在标准位置。

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

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

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