将目录添加到Python sys.path中,以便每次使用Python时都包含它
目前,当我想引用一些库代码时,我在我的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
- 你应该使用
os.path.join
这样的方法来让你的代码更可靠。 - 你在路径中已经用过
__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里的路径要用“;”来分隔。