多亏了这两个 附加链接,我不仅找到了我的问题的预期答案,而且还找到了我更喜欢的解决方案,具有讽刺意味的是,我的第一个搜索结果也解释了这一点,但被所有版本混淆了——(在) 依赖站点包术语。
回答原始问题:默认文件夹
我想知道我自己编写的包是否有规范的(如“默认”)位置。这存在:
>>> import site
>>> site.USER_SITE
'C:\\Users\\ojdo\\AppData\\Roaming\\Python\\Python27\\site-packages'
对于 Linux 和 Python 3 示例:
ojdo@ubuntu:~$ python3
>>> import site
>>> site.USER_SITE
'/home/ojdo/.local/lib/python3.6/site-packages'
用户方案包安装文档说明该文件夹USER_SITE
(如果存在)将sys.path
在解释器启动时自动添加到您的 Python 中,无需手动步骤。
奖励:自己的包的自定义目录
- 在任何地方创建一个目录,例如
C:\Users\ojdo\Documents\Python\Libs
.
- 将文件添加
sitecustomize.py
到 Python 安装的 site-packages 文件夹,即在C:\Python27\Lib\site-packages
(对于所有用户)或site.USER_SITE
(对于单个用户)。
然后这个文件填充了以下代码:
import site
site.addsitedir(r'C:\Users\ojdo\Documents\Python\Libs')
- 瞧,新目录现在会自动添加到
sys.path
每个 (I)Python 会话中。
工作原理: 每次启动 Python 时自动导入的包site也尝试导入包sitecustomize
以进行自定义包路径修改。在这种情况下,这个虚拟包包含一个将个人包文件夹添加到 Python 路径的脚本。