将目录添加到Python sys.path中,以便每次使用Python时都包含它

18 投票
6 回答
51739 浏览
提问于 2025-04-17 02:36

目前,当我想引用一些库代码时,我在我的Python文件顶部这样做:

import sys
sys.path.append('''C:\code\my-library''')
from my-library import my-library

这样一来,my-library 就会在会话期间被加入到系统路径中。如果我开始一个新文件,我就得记得再次使用 sys.path.append

我觉得应该有更好的方法来做到这一点。有没有办法让 my-library 在我Windows电脑上的每个Python脚本中都能用,而不需要每次都使用 sys.path.append

6 个回答

4

如果这是一个你在代码中经常用到的库,那就应该好好安装它。把它打包好,要么放到你的 site-packages 目录里,要么如果这个库只适用于某些特定的项目,就使用 virtualenv,只在相关的虚拟环境中安装它。

7
  1. 你应该使用 os.path.join 这样的方法来让你的代码更可靠。
  2. 你在路径中已经用过 __my-library__ 了,所以在导入的时候就不要再用一次。如果你的文件夹结构是这样的: C:\code\my-library\lib.py,而里面有一个函数,比如:
def main():
  print("Hello, world")

那么你最终的代码应该是

import sys 
sys.path.append(os.path.join('C:/', 'code', 'my-library'))

from lib import main 
25

只需要把这个路径加到你的PYTHONPATH环境变量里。具体操作是,先打开控制面板,找到系统,然后点击高级设置,再进入环境变量。在“用户变量”这一部分,看看你有没有PYTHONPATH这个变量。如果有,就选中它,然后点击“编辑”;如果没有,就点击“新建”来添加一个。

在PYTHONPATH里的路径要用“;”来分隔。

撰写回答