$PYTHONPATH 和 sys.path 似乎不匹配

$PYTHONPATH 和 sys.path 似乎不匹配

我想永久添加一个文件夹,sys.path但它不起作用。

在我的 Debian Stretch 上,当我执行:

$ echo $PYTHONPATH

它看起来是空的

同时,当我打印 的内容时,有 10 个不同的路径与包含在(显然在)中sys.path的路径不同。怎么解释呢?$PATH$PYTHONPATH

(我必须为框架创建一个 virtualenv,但我认为我现在没有使用它,所以它可能不相关,但我对这个概念不满意,所以也许我错过了一些东西)

我还尝试修改.bashrc以添加路径,$PYTHONPATH以便我知道以下行:

PYTHONPATH=$PYTHONPATH:~/bin 

重新启动后,它可以工作,我的意思是 $PYTHONPATH 包含它,但sys.path.

另外,$ env | grep ^PYTHON什么也不返回。

那么,如何sys.path填充以及如何向其中永久添加文件夹?

答案1

sys.path在Python中是“指定模块搜索路径的字符串列表。从环境变量初始化PYTHONPATH,加上依赖于安装的默认值。” (取自Python 在线文档)。

为了sys.path受 影响PYTHONPATH,后者必须是一个环境变量。如果它不是环境变量而只是 shell 变量,则python解释器将看不到它。您可以在设置其值后或同时导出它,将其转换为环境变量,如下所示

export PYTHONPATH=/some/path:/goes/here

相关内容