python3 sys.path.append永久生效

在Python中,sys.path是一个存储模块搜索路径的列表。当你导入一个模块时,Python从这些路径中搜索对应的模块文件。有时候我们需要手动添加新的路径到sys.path中,以便让Python找到额外的模块。
然而,通过sys.path.append添加的路径只在当前运行时有效,一旦程序结束,这些修改就会消失。如果我们希望添加的路径永久生效,即在其他Python会话中仍然可用,我们可以通过修改环境变量PYTHONPATH来实现。
修改PYTHONPATH环境变量
PYTHONPATH是一个环境变量,它存储了Python模块搜索路径。我们可以通过修改这个环境变量,让Python永久地认识新的模块路径。
- 首先,找到你的Python安装目录。假设你使用的是Python3,通常情况下,Python的安装目录为
/usr/lib/python3.x或者/usr/local/lib/python3.x。 -
然后,找到
site-packages目录。site-packages目录存放了Python安装的第三方库。一般情况下,site-packages目录在Python安装目录下的lib目录中。 -
将你希望添加到
sys.path中的路径加入到PYTHONPATH环境变量中。你可以在~/.bashrc或者~/.bash_profile文件中添加如下内容:
export PYTHONPATH=$PYTHONPATH:/path/to/your/custom/module
-
保存文件并执行
source ~/.bashrc或者source ~/.bash_profile,使修改生效。 -
最后,你可以在Python中验证
sys.path是否包含了你添加的路径:
import sys
print(sys.path)
运行上述代码,你应该能够看到/path/to/your/custom/module被成功添加到sys.path中。这意味着你的自定义模块路径已经被Python认可,一旦你导入这个模块,Python就能找到它了。
示例代码
假设我们有一个自定义的模块my_module,其中有一个函数hello():
# my_module.py
def hello():
print("Hello from custom module!")
我们将my_module.py保存在/path/to/your/custom/module目录下。
接下来,按照上述步骤修改PYTHONPATH环境变量:
export PYTHONPATH=$PYTHONPATH:/path/to/your/custom/module
保存文件并执行source ~/.bashrc或者source ~/.bash_profile。
然后在Python中验证sys.path:
import sys
print(sys.path)
最后,尝试导入my_module并调用hello()函数:
import my_module
my_module.hello()
运行上述代码,你应该能够看到输出为Hello from custom module!,这说明我们成功地将自定义模块路径添加到了sys.path中,使得Python能够正常找到并导入这个模块。
通过修改PYTHONPATH环境变量,我们可以让sys.path永久地包含我们自定义的模块路径,从而使Python在任何时候都能找到并导入这些模块。这种方法非常方便且灵活,适用于在多个Python会话中使用自定义模块。
极客笔记