TIM*_*MEX 102 python unix linux environment-variables
我知道如何在我的/ etc/profile和我的环境变量中设置它.
但是如果我想在脚本中设置它呢?是导入os,sys?我该怎么做?
Dav*_*d Z 174
您没有设置PYTHONPATH,您添加条目sys.path.这是一个应该搜索Python包的目录列表,因此您只需将目录附加到该列表即可.
sys.path.append('/path/to/whatever')
Run Code Online (Sandbox Code Playgroud)
实际上,sys.path通过PYTHONPATH在路径分隔符上分割值来初始化(:在类似Linux的系统上,;在Windows上).
您还可以使用添加目录site.addsitedir,该方法还将考虑.pth您传递的目录中存在的文件.(对于您指定的目录,情况并非如此PYTHONPATH.)
mik*_*iku 33
您可以通过os.environ以下方式获取和设置环境变量
import os
user_home = os.environ["HOME"]
os.environ["PYTHONPATH"] = "..."
Run Code Online (Sandbox Code Playgroud)
但由于您的解释器已经运行,这将无效.你最好不要使用
import sys
sys.path.append("...")
Run Code Online (Sandbox Code Playgroud)
这是您PYTHONPATH将在解释器启动时转换为的数组.
小智 15
很抱歉重新打开这个问题,但我认为它可以帮助某人:
如果你sys.path.append('dir/to/path')没有检查它已添加,你可以生成一个长列表sys.path.为此,我建议这样做:
import sys
import os # if you want this directory
try:
sys.path.index('/dir/path') # Or os.getcwd() for this directory
except ValueError:
sys.path.append('/dir/path') # Or os.getcwd() for this directory
Run Code Online (Sandbox Code Playgroud)
如果我让某人重新开启这个问题,我很抱歉.
PYTHONPATH最终在sys.path中,您可以在运行时修改它.
import sys
sys.path += ["whatever"]
Run Code Online (Sandbox Code Playgroud)