刚开始接触并学习一门开发语言,带着不求甚解的想法,其实也挺有好处的:我并不是所有的东西都知道,但是代码跑起来了。
但是时间久了,还是带着这种想法,可能就会遇到一些棘手的问题。比如电脑上不知不觉已经安装了多个python版本,python3.8/3.10/3.11,甚至一些软件中也集成有python解释器;那么我编写的python代码,到底是使用哪个解释器在执行?我通过pip包管理工具安装的依赖包到底在那个地方?为什么已经安装了依赖包,代码提示还是缺少依赖呢?先通过以下命令,查看下电脑上到底有多少个python版本吧:
where python
已经看到3个python解释器了,但是我记得明明也安装了python3.11呀,怎么没有出现呢?
原来在环境变量中没有配置,那就在环境变量中添加下,如图所示:
再次运行命令 where python ,好了已经看到了python3.11:
接下来我们就从以下几个方面入手来探讨下python基础环境:环境变量、版本区分、虚拟环境。
为了使python解释器生效,我们会通过配置环境变量,也就是将python解释器 python.exe 可执行文件所在的目录添加到系统变量Path中,如此我们就可以在命令行中,通过 python -V 命令来检查python解释器的环境变量是否配置成功。
python的包管理工具pip也是如此,为了使其生效,我们将pip.exe可执行文件所在的目录也添加到系统变量Path中。此时我们也同样可以通过 pip -V 命令来查看包管理工具是否能正常使用。
#1.配置python解释器环境变量:将“C:\Python311”目录添加到Path系统变量中,通过以下命令查看是否生效 python -V #配置pip环境变量:将“C:\Python311\Scripts”目录添加到Path系统变量中,通过以下命令查看是否生效 pip -V
如果不配置环境变量,要使用python解释器,比如我们我们同样要查看python解释器的版本,使用如下命令:
C:\Python311\python.exe -V #如果路径中包含空格或特殊字符(如括号、等号等),通常需要使用引号将路径括起来,以确保命令解释器正确地识别路径。这是因为命令行解释器会将空格视为命令参数的分隔符 "C:\Python311\python.exe" -V
就拿我电脑上的三个python解释器来说吧,我通过 python -V 获取的到底是哪个python解释器的版本呢?如果使用pip安装的python包,到底安装在什么地方呢?
#1.查看各解释器的版本 "C:\Program Files\Odoo 16.0.20230810\python\python.exe" -V C:\Python311\python.exe -V C:\Users\Administrator\AppData\Local\Programs\Python\Python310\python.exe -V #2.查看各解释器的pip版本 #python -m pip:表示使用python解释器自带的包管理工具 "C:\Program Files\Odoo 16.0.20230810\python\python.exe" -m pip -V C:\Python311\python.exe -m pip -V C:\Users\Administrator\AppData\Local\Programs\Python\Python310\python.exe -m pip -V #3.查看解释器对应的pip管理工具下载文件包的位置:pip show requests "C:\Program Files\Odoo 16.0.20230810\python\python.exe" -m pip show requests C:\Python311\python.exe -m pip show requests C:\Users\Administrator\AppData\Local\Programs\Python\Python310\python.exe -m pip show requests #4.使用 pip 安装包到指定位置:在特定情况下方便整体复制粘贴到相似的环境 pip install package_name --target D:\MyPackages
我们配置了两个版本的python环境变量,那么在cmd命令行中,查看的python解释器版本和pip的下载位置,究竟是哪个python版本呢?在cmd命令行工具中,谁的配置靠前就是谁的。
Python 虚拟环境是相对于系统环境而言的一个独立的环境,因此虚拟环境并不直接依赖于系统环境。当你创建一个 Python 虚拟环境时,它会在指定的目录下安装一个完整的 Python 解释器以及相应的 pip工具。在虚拟环境中安装的所有包和依赖项都是针对该虚拟环境的,并不会影响到系统环境中的 Python 解释器或包。因此,如果你删除了系统环境中的 Python 解释器或包,虚拟环境中的 Python 解释器和包仍然存在于其指定的目录下,可以继续使用。这就是为什么使用虚拟环境是一种良好的实践,因为它可以确保你的项目在不同的系统环境中都能够正常工作,并且不会受到系统环境中其他 Python 包或依赖项的影响。
windows中虚拟环境的用法:
#1.安装虚拟环境管理器:在 Windows 上,Python 通常附带了一个名为 venv 的虚拟环境管理器。可以使用以下命令来验证是否已安装 venv: python -m venv --help #2.创建虚拟环境:在命令提示符中,进入你想要创建虚拟环境的目录,然后运行以下命令来创建虚拟环境: python -m venv odoo16_venv #3.激活虚拟环境: odoo16_venv\Scripts\activate #4.在虚拟环境中安装python依赖包: pip install package_name #5.退出虚拟环境: deactivate
ubuntu中虚拟环境的用法:
#1.安装 Python: python3 --version #如果没有安装 Python,你可以使用以下命令安装: sudo apt update sudo apt install python3 #2.安装虚拟环境管理器: sudo apt update sudo apt install python3-venv #3.创建虚拟环境:在终端中,进入你想要创建虚拟环境的目录,并运行以下命令来创建虚拟环境: python3 -m venv odoo16_venv #4.激活虚拟环境: source myenv/bin/odoo16_venv #5.在虚拟环境中安装python依赖包: pip install package_name #6.退出虚拟环境: deactivate
点击阅读原文:菜园工程师