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

您混合了 2 个环境变量:

  • PATH,当仅按名称访问可执行文件时,which会查找可执行文件。此变量是包含可执行文件的目录列表(冒号/分号根据平台分隔(。不是特定于蟒蛇的。which python只查看此变量并打印完整路径
  • PYTHONPATH是特定于 Python 的目录列表(冒号/分号分隔,如PATH(,Python 在其中查找未直接安装在 Python 发行版中的包。名称和格式非常接近系统/外壳PATH变量,但它根本不作系统使用,只是被python使用。

which python是 python 解释器的路径。PYTHONPATH是一个环境变量,Python 程序可以在其中搜索要导入的模块。

请参阅第 1.2 节

这不应该是一样的吗?设置它不是更好吗:usr/lib/python/我该怎么做?将其添加到 PYTHONPATH 或将 PYTHONPATH 设置为该路径?但是如何设置哪个python呢?

不,它们不一样。你真的不需要修改Python解释器的路径。要修改 PYTHONPATH,您可以在 shell 中设置它,或者使用sys.path从 Python 程序中设置

import sys
print(sys.path)
sys.path.append("another/path/to/search")

最新更新