登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
python虚拟环境
python虚拟环境
[ 复制链接 ]
县挫伪
2025-6-1 18:38:30
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
这个是针对python应用的一个虚拟环境的工具使用篇。
虚拟环境的存在,或者说python虚拟环境的存在,是为了将python项目的依赖和运行环境进行隔离,项目间互不干扰而存在。python是一个第三方库生态异常健全的语言,但是各种库的使用也有着内部结构依赖,难保有时候在各种项目中会有冲突,所以直接使用主机的python环境,会出现问题。
python环境准备
如果已经有了python环境,那么可以跳过这个部分了。笔者早期是在windows进行编程,现在有了第二台电脑,就重装了其中一台为ubuntu系统,原来的windows更多作为笔记记录和工作的远程使用。
ubuntu下python和pip安装
下面先进行的是ubuntu系统下的python安装:
# 获取apt最新包信息
$ sudo apt update
# apt下载安装python3包和对应的pip
$ sudo apt install python3 python3-pip
# 检查版本号
$ python3 -V
Python 3.12.7
$ pip -V
pip 24.2 from /usr/lib/python3/dist-packages/pip (python 3.12)
复制代码
ubuntu中的apt进行安装,不需要特别进行配置,安装好了,就是其路径已经配置好,系统已经知晓其路径,可以直接执行。但windows不一样,自定义的安装,一般都需要将其安装路径告知系统,知会系统安装好了的软件路径的办法,就是配置环境变量。
windows下python安装
windows下的安装,先要从python官网去下载对应安装工具包:
下载完成后便是一阵跟随指引的安装操作,如果是工具包自己的操作,没有自定义介入,那么就会安装在C盘且配置环境变量,直接可用,打开如下cmd窗口:
PS C:\Users\Gemini\Desktop> python -V
Python 3.12.7
PS C:\Users\Gemini\Desktop> pip -V
pip 24.3.1 from D:\software\Python312\Lib\site-packages\pip (python 3.12)
复制代码
我这是自定义安装,指定了安装路径在D盘的特定software文件夹,所以路径如上,如果是自定义安装,可以按照这个指引来操作。
virtualenv工具
virtualenv是笔者早期使用的一个工具,很适应,这个工具也是python第三方库的一个,python第三方库的提供,有的是单纯的代码库,有的也会提供可执行文件作为辅助,安装好以后即可使用(不过windows环境需要将D:\software\python312\Scripts路径引入环境变量)。
$ sudo pip install virtualenv
复制代码
这是ubuntu环境中的命令,sudo是为了提升当前命令执行的权限为超级管理员,windows里不用加这个前缀,安装即用。ubuntu下如此操作:
# 创建虚拟环境
$ virtualenv the_project
# ls和tree查看the_project
$ ls the_project/
bin lib pyvenv.cfg
$ tree -L 2 the_project/
the_project/
├── bin
│ ├── activate
│ ├── activate.csh
│ ├── activate.fish
│ ├── activate.nu
│ ├── activate.ps1
│ ├── activate_this.py
│ ├── pip
│ ├── pip3
│ ├── pip-3.12
│ ├── pip3.12
│ ├── python -> /usr/bin/python3
│ ├── python3 -> python
│ └── python3.12 -> python
├── lib
│ └── python3.12
└── pyvenv.cfg
# 激活虚拟环境
$ source the_project/bin/activate
(the_project)$ pip list
Package Version
------- -------
pip 24.2
# 退出虚拟环境
(the_project)$ deactivate
$ pip list
Package Version
------------------------- --------------
attrs 23.2.0
autocommand 2.2.2
Automat 24.8.1
Babel 2.14.0
bcc 0.30.0
bcrypt 4.2.0
blinker 1.8.2
....
$
复制代码
windows下的操作大致相同,不过不同的是激活虚拟环境的路径操作:
PS C:\Users\Gemini\Desktop> .\the_project\Scripts\activate
(the_project) PS C:\Users\Gemini\Desktop> pip list
Package Version
------- -------
pip 25.0.1
(the_project) PS C:\Users\Gemini\Desktop> python -V
Python 3.12.7
(the_project) PS C:\Users\Gemini\Desktop> deactivate
PS C:\Users\Gemini\Desktop> pip list
Package Version
------------------ ----------
certifi 2024.12.14
charset-normalizer 3.4.1
distlib 0.3.9
filelock 3.18.0
idna 3.10
pip 24.3.1
platformdirs 4.3.7
requests 2.32.3
urllib3 2.3.0
virtualenv 20.29.3
PS C:\Users\Gemini\Desktop>
复制代码
ok,就这样,从上面可以发现进入虚拟环境后库依赖的不同,这就是笔者配置虚拟环境的需要,环境隔离。嗯,还有一件事,virtualenv进行配置的虚拟环境是依赖于创建的该文件夹的,删了就算完了,而且每一次虚拟环境的依赖配置都是一次对于存储的负担,配置过多,负担很大,所以如果不是长期使用的项目,就给把环境依赖freeze到requirements.txt中,把依赖干掉先吧。
pipenv工具
照常进行,先来安装:
$ pip install pipenv
复制代码
然后就可以直接用pipenv工具了.下面列出一些pipenv的简单操作命令:
# 切换进入虚拟环境的shell中
$ pipenv shell
# 安装依赖,也是很多虚拟环境的起始第一步,其实和pipenv shell差不多
$ pipenv install
# 卸载依赖
$ pipenv uninstall
$ pipenv uninstall --all
# 更新所有依赖
$ pipenv update
$ pipenv update 某包
# 卸载虚拟环境
$ pipenv --rm
# 创建一个基于python3.7的虚拟环境
$ pipenv --python 3.7
# 导出当前依赖,类似pip freeze
$ pipenv lock -r > requirements.txt
# 展示依赖结构
$ pipenv graph
# 创建python3的虚拟环境
$ pipenv --three
# 创建python2的虚拟环境
$ pipenv --two
复制代码
下面简单操作一下创建一个用于flask项目的虚拟环境:
$ mkdir djangoPra && cd djangoPra
# 开始创建虚拟环境
$ pipenv shell
# ok
(djangoPra)$ ls
Pipfile
(djangoPra)$ pip install django
(djangoPra)$ pipenv graph
Django==5.1.7
├── asgiref
└── sqlparse
(djangoPra)$ django-admin --version
5.1.7
(djangoPra)$ deactivate
$ pipenv shell
Launching subshell in virtual environment...
gemini@gemini:~/tutorial/djangoPra$ source /home/gemini/.local/share/virtualenvs/djangoPra-SPzxzL2W/bin/activate
(djangoPra)$
复制代码
可能这里不太需要windows下进行的虚拟环境操作,毕竟有很多可用IDE,提供的生态都很好吧,不一定需要像我这样搞vscode自定义那么多。
终
针对python应用的虚拟环境建立还有着venv和conda等,不过这里没有使用过,且也没有见过使用,所以就这样吧。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
python
虚拟
环境
相关帖子
csq-蓝桥杯python-基础语法2-列表与循环语句基础
Python新利器:用uv轻松管理venv虚拟环境和pip依赖包
Python Selenium 漫步指南:从入门到精通
【Ubuntu】Ubuntu+VScode+ESP-IDF 的环境搭建
Python - UV 为每个项目创建独立、干净的Python工作空间
Python包管理告别龟速下载:uv工具国内镜像与离线安装实战
Python环境管理利器Conda:从入门到避坑实战指南
使用Python免费合并PDF文件
基于Python实现微信通知和预警
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
csq-蓝桥杯python-基础语法2-列表与循环语句基础
0
551
粒浊
2025-12-16
业界
Python新利器:用uv轻松管理venv虚拟环境和pip依赖包
0
803
敖可
2025-12-16
业界
Python Selenium 漫步指南:从入门到精通
0
734
固拆棚
2025-12-16
业界
【Ubuntu】Ubuntu+VScode+ESP-IDF 的环境搭建
0
715
勉欤铅
2025-12-17
业界
Python - UV 为每个项目创建独立、干净的Python工作空间
0
815
匝抽
2025-12-18
业界
Python包管理告别龟速下载:uv工具国内镜像与离线安装实战
0
808
秦欣艷
2025-12-18
业界
Python环境管理利器Conda:从入门到避坑实战指南
0
564
迭婵椟
2025-12-18
安全
使用Python免费合并PDF文件
0
598
洪势
2025-12-18
业界
基于Python实现微信通知和预警
1
562
盒礁泅
2025-12-18
回复
(3)
枢覆引
2025-11-2 19:18:27
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
不错,里面软件多更新就更好了
昆拗干
2025-11-24 21:47:37
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
过来提前占个楼
勉欤铅
2025-12-4 05:51:32
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
前排留名,哈哈哈
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
数据
程序
业界
科技
签约作者
程序园优秀签约作者
发帖
县挫伪
2025-12-4 05:51:32
关注
0
粉丝关注
21
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994892
kk14977
6845357
4
xiangqian
638210
5
韶又彤
9997
6
宋子
9982
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9950
查看更多
今日好文热榜
146
【节点】[LinearToGammaSpaceExact节点]原
778
Aspire 与 Azure Functions 深度集成:架构
998
阿里Z-Image图像生成模型容器部署
308
痞子衡嵌入式:16MB以上NOR Flash地址模式
661
最新AI换脸软件,全面升级可直播,Mirage下
449
热点 Key 与大 Key 治理——识别、拆分、预
646
Media Extended
323
vlookup的终结者splookup,9个案例讲透查询
851
ROS2之Launch介绍
888
精选 8 个 .NET 开发实用的类库,效率提升
85
精选 8 个 .NET 开发实用的类库,效率提升
575
精选 8 个 .NET 开发实用的类库,效率提升
145
精选 8 个 .NET 开发实用的类库,效率提升
116
精选 8 个 .NET 开发实用的类库,效率提升
609
alist如何将默认布局设置为图片布局
1011
Kali2025.4+Cherry Studio一键配置HexStrik
419
PHP 之高级面向对象编程 深入理解设计模式
417
PHP 之高级面向对象编程 深入理解设计模式
572
升级curl版本,及升级后引起的动态库链接不
297
2025年GEO优化服务商全景对比:五大核心维