找回密码
 立即注册
首页 业界区 安全 python虚拟环境

python虚拟环境

县挫伪 2025-6-1 18:38:30
这个是针对python应用的一个虚拟环境的工具使用篇。
虚拟环境的存在,或者说python虚拟环境的存在,是为了将python项目的依赖和运行环境进行隔离,项目间互不干扰而存在。python是一个第三方库生态异常健全的语言,但是各种库的使用也有着内部结构依赖,难保有时候在各种项目中会有冲突,所以直接使用主机的python环境,会出现问题。
python环境准备

如果已经有了python环境,那么可以跳过这个部分了。笔者早期是在windows进行编程,现在有了第二台电脑,就重装了其中一台为ubuntu系统,原来的windows更多作为笔记记录和工作的远程使用。
ubuntu下python和pip安装

下面先进行的是ubuntu系统下的python安装:
  1. # 获取apt最新包信息
  2. $ sudo apt update
  3. # apt下载安装python3包和对应的pip
  4. $ sudo apt install python3 python3-pip
  5. # 检查版本号
  6. $ python3 -V
  7. Python 3.12.7
  8. $ pip -V
  9. pip 24.2 from /usr/lib/python3/dist-packages/pip (python 3.12)
复制代码
ubuntu中的apt进行安装,不需要特别进行配置,安装好了,就是其路径已经配置好,系统已经知晓其路径,可以直接执行。但windows不一样,自定义的安装,一般都需要将其安装路径告知系统,知会系统安装好了的软件路径的办法,就是配置环境变量。
windows下python安装

windows下的安装,先要从python官网去下载对应安装工具包:
1.png

下载完成后便是一阵跟随指引的安装操作,如果是工具包自己的操作,没有自定义介入,那么就会安装在C盘且配置环境变量,直接可用,打开如下cmd窗口:
  1. PS C:\Users\Gemini\Desktop> python -V
  2. Python 3.12.7
  3. PS C:\Users\Gemini\Desktop> pip -V
  4. 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路径引入环境变量)。
  1. $ sudo pip install virtualenv
复制代码
这是ubuntu环境中的命令,sudo是为了提升当前命令执行的权限为超级管理员,windows里不用加这个前缀,安装即用。ubuntu下如此操作:
  1. # 创建虚拟环境
  2. $ virtualenv the_project
  3. # ls和tree查看the_project
  4. $ ls the_project/
  5. bin  lib  pyvenv.cfg
  6. $ tree -L 2 the_project/
  7. the_project/
  8. ├── bin
  9. │   ├── activate
  10. │   ├── activate.csh
  11. │   ├── activate.fish
  12. │   ├── activate.nu
  13. │   ├── activate.ps1
  14. │   ├── activate_this.py
  15. │   ├── pip
  16. │   ├── pip3
  17. │   ├── pip-3.12
  18. │   ├── pip3.12
  19. │   ├── python -> /usr/bin/python3
  20. │   ├── python3 -> python
  21. │   └── python3.12 -> python
  22. ├── lib
  23. │   └── python3.12
  24. └── pyvenv.cfg
  25. # 激活虚拟环境
  26. $ source the_project/bin/activate
  27. (the_project)$ pip list
  28. Package Version
  29. ------- -------
  30. pip     24.2
  31. # 退出虚拟环境
  32. (the_project)$ deactivate
  33. $ pip list
  34. Package                   Version
  35. ------------------------- --------------
  36. attrs                     23.2.0
  37. autocommand               2.2.2
  38. Automat                   24.8.1
  39. Babel                     2.14.0
  40. bcc                       0.30.0
  41. bcrypt                    4.2.0
  42. blinker                   1.8.2
  43. ....
  44. $
复制代码
windows下的操作大致相同,不过不同的是激活虚拟环境的路径操作:
  1. PS C:\Users\Gemini\Desktop> .\the_project\Scripts\activate
  2. (the_project) PS C:\Users\Gemini\Desktop> pip list
  3. Package Version
  4. ------- -------
  5. pip     25.0.1
  6. (the_project) PS C:\Users\Gemini\Desktop> python -V
  7. Python 3.12.7
  8. (the_project) PS C:\Users\Gemini\Desktop> deactivate
  9. PS C:\Users\Gemini\Desktop> pip list
  10. Package            Version
  11. ------------------ ----------
  12. certifi            2024.12.14
  13. charset-normalizer 3.4.1
  14. distlib            0.3.9
  15. filelock           3.18.0
  16. idna               3.10
  17. pip                24.3.1
  18. platformdirs       4.3.7
  19. requests           2.32.3
  20. urllib3            2.3.0
  21. virtualenv         20.29.3
  22. PS C:\Users\Gemini\Desktop>
复制代码
ok,就这样,从上面可以发现进入虚拟环境后库依赖的不同,这就是笔者配置虚拟环境的需要,环境隔离。嗯,还有一件事,virtualenv进行配置的虚拟环境是依赖于创建的该文件夹的,删了就算完了,而且每一次虚拟环境的依赖配置都是一次对于存储的负担,配置过多,负担很大,所以如果不是长期使用的项目,就给把环境依赖freeze到requirements.txt中,把依赖干掉先吧。
pipenv工具

照常进行,先来安装:
  1. $ pip install pipenv
复制代码
然后就可以直接用pipenv工具了.下面列出一些pipenv的简单操作命令:
  1. # 切换进入虚拟环境的shell中
  2. $ pipenv shell
  3. # 安装依赖,也是很多虚拟环境的起始第一步,其实和pipenv shell差不多
  4. $ pipenv install
  5. # 卸载依赖
  6. $ pipenv uninstall
  7. $ pipenv uninstall --all
  8. # 更新所有依赖
  9. $ pipenv update
  10. $ pipenv update 某包
  11. # 卸载虚拟环境
  12. $ pipenv --rm
  13. # 创建一个基于python3.7的虚拟环境
  14. $ pipenv --python 3.7
  15. # 导出当前依赖,类似pip freeze
  16. $ pipenv lock -r > requirements.txt
  17. # 展示依赖结构
  18. $ pipenv graph
  19. # 创建python3的虚拟环境
  20. $ pipenv --three
  21. # 创建python2的虚拟环境
  22. $ pipenv --two
复制代码
下面简单操作一下创建一个用于flask项目的虚拟环境:
  1. $ mkdir djangoPra && cd djangoPra
  2. # 开始创建虚拟环境
  3. $ pipenv shell
  4. # ok
  5. (djangoPra)$ ls
  6. Pipfile
  7. (djangoPra)$ pip install django
  8. (djangoPra)$ pipenv graph
  9. Django==5.1.7
  10. ├── asgiref
  11. └── sqlparse
  12. (djangoPra)$ django-admin --version
  13. 5.1.7
  14. (djangoPra)$ deactivate
  15. $ pipenv shell
  16. Launching subshell in virtual environment...
  17. gemini@gemini:~/tutorial/djangoPra$  source /home/gemini/.local/share/virtualenvs/djangoPra-SPzxzL2W/bin/activate
  18. (djangoPra)$
复制代码
可能这里不太需要windows下进行的虚拟环境操作,毕竟有很多可用IDE,提供的生态都很好吧,不一定需要像我这样搞vscode自定义那么多。


针对python应用的虚拟环境建立还有着venv和conda等,不过这里没有使用过,且也没有见过使用,所以就这样吧。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册