使用PYTHONPATH的注意事项
我们都知道PYTHONPATH是一个常见的环境变量,用于import python包可以额外根据PYTHONPATH指定的路径来搜寻。
常见的用法是 export PYTHONPATH=/xxx 其作用范围是当前shell会话及所有从这个shell会话启动的所有子进程。
示例:
export PYTHONPATH=./
python my_script.py # my_script.py 中可以访问到 PYTHONPATH
python another_script.py # another_script.py 也可以访问到 PYTHONPATH
而另外一种用法 PYTHONPATH=/xxx用来对紧随其后的命令有效,执行完该命令就失效。所以该用法可以看成是一个临时环境变量
示例:
PYTHONPATH=./ python my_script.py # 仅 my_script.py 中可以访问到 PYTHONPATH
python another_script.py # another_script.py 中无法访问到 PYTHONPATH
再次总结这两种用法,理解后平时开发中就不容易犯错了
作用范围:
export PYTHONPATH=./: 环境变量在当前shell会话及其子进程中都有效。
PYTHONPATH=./: 环境变量仅对紧随其后的命令有效。
保留时间:
export PYTHONPATH=./: 环境变量在shell会话结束前一直有效。
PYTHONPATH=./: 环境变量在命令执行完后立即失效。
使用场景:
export PYTHONPATH=./: 适用于需要在多个命令中共享环境变量设置,或者在脚本中使用。
PYTHONPATH=./: 适用于一次性命令,避免环境变量污染当前shell会话。