python基础环境

刚开始接触并学习一门开发语言,带着不求甚解的想法,其实也挺有好处的:我并不是所有的东西都知道,但是代码跑起来了。

但是时间久了,还是带着这种想法,可能就会遇到一些棘手的问题。比如电脑上不知不觉已经安装了多个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

点击阅读原文:菜园工程师

相关推荐
IVEN_2 小时前
只会Python皮毛?深入理解这几点,轻松进阶全栈开发
python·全栈
Ray Liang4 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮4 小时前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python
千寻girling4 小时前
一份不可多得的 《 Python 》语言教程
人工智能·后端·python
AI攻城狮7 小时前
用 Playwright 实现博客一键发布到稀土掘金
python·自动化运维
曲幽7 小时前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
孟健1 天前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
码路飞1 天前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
曲幽1 天前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers