python 与 PYTHONPATH
which python vs PYTHONPATH
如果我输入 which python
,我会得到:/home/USER/anaconda3/bin/python
如果我输入 echo $PYTHONPATH
我会得到:/home/USER/terrain_planning/devel/lib/python2.7/dist-packages:/opt/ros/melodic/lib/python2.7/dist-packages
应该不一样吧?而且这样设置不是更好吗:usr/lib/python/
我该怎么做?将它添加到 PYTHONPATH 或将 PYTHONPATH 设置为那个?但是如何设置which python
?
which python
是 python 解释器的路径。 PYTHONPATH
是一个环境变量,您的 Python 程序可以在其中搜索要导入的模块。
应该不一样吧?设置它不是更好吗: usr/lib/python/ 我该怎么做?将它添加到 PYTHONPATH 或将 PYTHONPATH 设置为那个?但是如何设置哪个python?
不,它们不一样。您真的不需要修改 Python 解释器的路径。要修改 PYTHONPATH,您可以在 shell 中设置它,或者在 Python 程序中使用 sys.path
import sys
print(sys.path)
sys.path.append("another/path/to/search")
您正在混合使用 2 个环境变量:
PATH
其中 which
查找仅按名称访问的可执行文件。此变量是包含可执行文件的目录列表(colon/semi-colon 取决于平台)。不 python 具体。 which python
只查看这个变量并打印完整路径
PYTHONPATH
是 python 特定的目录列表(colon/semi-colon 像 PATH
一样分隔),其中 python 查找未直接安装的包在 python 分布中。名称和格式故意非常接近 system/shell PATH
变量,但操作系统根本不使用它,只是 python.
如果我输入 which python
,我会得到:/home/USER/anaconda3/bin/python
如果我输入 echo $PYTHONPATH
我会得到:/home/USER/terrain_planning/devel/lib/python2.7/dist-packages:/opt/ros/melodic/lib/python2.7/dist-packages
应该不一样吧?而且这样设置不是更好吗:usr/lib/python/
我该怎么做?将它添加到 PYTHONPATH 或将 PYTHONPATH 设置为那个?但是如何设置which python
?
which python
是 python 解释器的路径。 PYTHONPATH
是一个环境变量,您的 Python 程序可以在其中搜索要导入的模块。
应该不一样吧?设置它不是更好吗: usr/lib/python/ 我该怎么做?将它添加到 PYTHONPATH 或将 PYTHONPATH 设置为那个?但是如何设置哪个python?
不,它们不一样。您真的不需要修改 Python 解释器的路径。要修改 PYTHONPATH,您可以在 shell 中设置它,或者在 Python 程序中使用 sys.path
import sys
print(sys.path)
sys.path.append("another/path/to/search")
您正在混合使用 2 个环境变量:
PATH
其中which
查找仅按名称访问的可执行文件。此变量是包含可执行文件的目录列表(colon/semi-colon 取决于平台)。不 python 具体。which python
只查看这个变量并打印完整路径PYTHONPATH
是 python 特定的目录列表(colon/semi-colon 像PATH
一样分隔),其中 python 查找未直接安装的包在 python 分布中。名称和格式故意非常接近 system/shellPATH
变量,但操作系统根本不使用它,只是 python.