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

Ben*_*ack 9 python windows sys.path

目前,在尝试引用一些库代码时,我在python文件的顶部执行此操作:

import sys
sys.path.append('''C:\code\my-library''')
from my-library import my-library
Run Code Online (Sandbox Code Playgroud)

然后,my-library只要会话处于活动状态,它就会成为sys.path的一部分.如果我开始一个新文件,我必须记得sys.path.append再次包含.

我觉得必须有一个更好的方法来做到这一点.如何my-library在我的Windows机器上提供每个python脚本而不必sys.path.append每次都使用?

tih*_*iho 16

只需将此路径添加到PYTHONPATH环境变量中即可.要执行此操作,请转到"控制面板/系统/高级/环境"变量,然后在"用户变量"部分中,检查是否已有PYTHONPATH.如果是,请选择它并单击"编辑",否则,单击"新建"以添加它.

PYTHONPATH中的路径应以";"分隔.


小智 5

  1. 您应该使用 os.path.join 使您的代码更可靠。
  2. 您已经在路径中使用了my-library。所以不要在导入时第二次使用它。如果您有这样的目录结构 C:\code\my-library\lib.py并在其中运行,例如
  print("Hello, world")
Run Code Online (Sandbox Code Playgroud)

那么你的结果代码应该是

import sys 
sys.path.append(os.path.join('C:/', 'code', 'my-library')
from lib import main 
Run Code Online (Sandbox Code Playgroud)