在Linux系统中,为Python配置环境变量是一项基础且至关重要的技能,它不仅决定了系统默认使用哪个Python解释器,还影响着Python脚本能找到哪些自定义模块,正确配置环境变量,能够让我们在开发和管理多个Python项目时游刃有余,避免版本冲突和路径混乱的问题。
理解核心环境变量:PATH 与 PYTHONPATH
在开始配置之前,我们必须清晰地理解两个最核心的环境变量:和
PYTHONPATH
,它们用途不同,但都至关重要。
配置 PATH 环境变量
假设我们通过源码编译或下载安装包的方式,在
/usr/local/python3.10
目录下安装了一个新版本的Python,为了让系统能够优先使用这个版本,我们需要将其目录添加到中。
临时配置(当前终端会话)
这种方法仅对当前打开的终端窗口有效,关闭后即失效,非常适合用于临时测试。
打开终端,输入以下命令:
export PATH="/usr/local/python3.10/bin:$PATH"
命令解析 :
验证一下:
python3 --versionpip3 --version
此时应该会显示我们刚刚配置的3.10版本信息。
永久配置(当前用户)
为了让我们每次登录时都能使用这个配置,需要将命令写入到Shell的配置文件中,常见的配置文件有(针对Bash Shell) 和(针对Zsh Shell)。
配置 PYTHONPATH 环境变量
当你的项目结构比较复杂,或者有一些共享的工具库时,
PYTHONPATH
就派上用场了,你的项目结构如下:
/my_project├── app/│├── main.py│└── utils/│└── helper.py
在中,你想直接
import utils.helper
,而不需要复杂的相对路径,这时,你可以将
my_project
目录添加到
PYTHONPATH
。
配置方法与完全相同,同样支持临时和永久两种方式。
临时配置
export PYTHONPATH="/path/to/my_project:$PYTHONPATH"
永久配置
同样,将上述命令添加到你的或文件末尾,一下即可。
最佳实践与建议
虽然直接修改和
PYTHONPATH
可以解决问题,但在现代Python开发中,有更优雅、更推荐的实践。
| 特性 |
PYTHONPATH
|
|
|---|---|---|
| 作用对象 | 操作系统(Shell) | Python解释器 |
| 用途 | 定位可执行文件(如,) | 定位可导入的Python模块(文件) |
| 使用场景 | 切换Python默认版本 | 指定项目模块或共享库的搜索路径 |
强烈推荐:使用Python虚拟环境
手动管理全局容易导致不同项目间的依赖冲突,最佳实践是为每个项目创建一个独立的虚拟环境(如或
virtualenv
),虚拟环境会自动为你处理好,激活后,和命令会直接指向环境内的版本,无需手动修改系统配置。
创建并激活虚拟环境的示例:
# 1. 在项目目录下创建环境python3 -m venv my_project_env# 2. 激活环境source my_project_env/bin/activate# 3. 激活后,你的命令行提示符前会出现 (my_project_env)# python 和 pip 已自动指向该环境内的版本# 安装任何包都只影响这个环境pip install requests# 4. 工作完成后,退出环境deactivate
对于
PYTHONPATH
的问题,在开发模式下,使用
pip install -e .
将你的项目以可编辑模式安装到虚拟环境中,通常是比设置
PYTHONPATH
更好的选择。
相关问答FAQs
问题1:我修改了文件,为什么新打开的终端没有生效?
解答
:这通常有几个可能的原因,请确认你使用的Shell类型,如果你使用的是Zsh(在macOS和许多Linux发行版中很常见),那么你应该修改而不是,可以通过
echo $SHELL
命令来确认,检查你添加的命令是否有语法错误,比如多余的空格或字符,确保在修改后执行了
source ~/.bashrc
命令,或者完全关闭并重新打开终端,让配置重新加载。
问题2:我应该直接修改系统的
/etc/profile
文件来配置环境变量吗?
解答
:通常不建议这样做。
/etc/profile
是系统级别的配置文件,修改它会影响到系统上的所有用户,这样做可能会覆盖系统管理员的设置,或者与系统更新(如通过或安装的软件)产生冲突,最佳实践是仅在用户级别的配置文件(如)中进行修改,这样只会影响当前用户,更加安全且不会干扰其他用户或系统服务,对于项目开发,则更推荐使用虚拟环境来隔离依赖。
如何在同一台电脑上同时搭建python2和python3环境
目前Python的两个版本Python2和Python3同时存在,且这两个版本同时在更新与维护。 到底是选择Python2还是选择Python3,取决于当前要使用的库、框架支持哪个版本。 例如:HTMLTestRunner、locustio支持Python2,但是不支持Python3。 所以很多时候,一台电脑上需要同时安装Python2和Python3。
python怎么设置环境变量
安装python,如我安装目录为C:\Python27打开环境变量:右键计算机->属性进入高级,环境变量找到系统变量中的path,双击编辑之,将python的安装目录加入到最后(与前一个路径用;隔开)确定,确定,ok3.验证进入cmd,输入python效果如下
怎么配置opencv python3.6.1 anaconda
电脑系统:win7 64位,(其他系统类似)关于Anaconda3-4.4.0下配置OpenCV3.2.01.首先官网下载最新版本的Anaconda3-4.4.0(基于自己的电脑选择32位或64位),该版本已经支持最新的Python3.6;注意:安装过程中:1)安装路径可以改变,但一定要是非汉语命名的文件夹路径;2)一定要选择“Add PATH TO ....”(增加环境变量), 如果首次安装,这个一定要选择,虽然软件不建议,但也要选择; 不然在win命令提示符窗口,输入一些更新或下载命令,会显示“...不是内部或外部命令”; 例如,输入命令:conda list 或 conda --version 或 python2.配置opencv3.2.0版本,看了好多关于这方面的贴子提醒的是,也有其他的配置方法,例如--在win命令提示符窗口输入:conda install --channelopencv3 或 conda install -copencv3--这些要依据自己的网络好不好而决定,如果好的话,可以试试;反之,就算了,安装中途就会终止。 --如果按照上面博主的方法配置,还要需要根据安装python的版本下载相应的opencv *文件--笔者是python3.6,所以对应的是opencv_python‑3.2.0‑cp36‑cp36m‑win_这个文件--下载地址: /~gohlke/pythonlibs/#opencv- 按Win+R 输入cmd打开命令提示符窗口,进入到D:\Program Files\Anaconda3\Lib\site-packages文件夹下--笔者将Anaconda3安装在了D盘的program files里面,因此路径如上,这个根据自己的安装路径而定,但是X:\*******\Anaconda3\Lib\site-packages不变- 在win命令提示符窗口,执行命令上面下载的opencv*文件,--如:pip install opencv_python‑3.2.0‑cp36‑cp36m‑win_--执行完,显示成功安装 opencv-python‑3.2.0,就应该没问题;笔者想说的是:如果上面等等的方法都不成功,直接可将已经配置好的opencv文件复制到X:\*******\Anaconda3\Lib\site-packages文件夹下也行;Anaconda3需要配置的Opencv文件如下(与Python配置的完全不同),红色的就是opencv *文件,可以不复制进来。 有需要的请留下邮箱,在线发送。 3. 最后就是测试














发表评论