菜单
本页目录

原文章地址:Python 虚拟环境

Python 虚拟环境

在这一章中,您将了解 Python中虚拟环境是什么,以及如何创建和使用虚拟环境来构建 Python应用程序。

当您在计算机上安装Python 软件时,它可以在文件系统的任何地方使用。这是一个系统范围的安装。

在开发Python应用程序时,可能需要使用pip工具安装一个或多个库(例如, pip3 install somelib )。此外,一个应用程序(例如App1)可能需要特定版本的库,比如 somelib 1.0 。同时,另一个 Python应用程序(例如App2)可能需要同一个库的更新版本,例如 somelib 2.0 。因此,通过安装新版本,App1的功能可能会受到影响,因为两个不同版本的库之间会发生冲突。

可以通过在同一台机器上提供两个独立的 Python环境来避免这种冲突。这些称为虚拟环境。虚拟环境是一个分离的目录结构,包含隔离的安装,其中有着 Python解释器、标准库和其他模块的本地副本。

下图显示了使用虚拟环境的目的和优势。使用全局的Python安装,创建了多个虚拟环境,每个环境都有不同版本的同一个库,以避免冲突。

创建与激活虚拟环境

这个功能由标准 Python发行版中的 venv 模块支持。使用以下命令创建一个新的虚拟环境。

C:\Users\Acer>md\pythonapp
C:\Users\Acer>cd\pythonapp
C:\pythonapp>python -m venv myvenv

在这里, myvenv 是要创建一个新的 Python虚拟环境的文件夹,显示以下目录结构:

Directory of C:\pythonapp\myvenv
22-02-2023 09:53 <DIR> .
22-02-2023 09:53 <DIR> ..
22-02-2023 09:53 <DIR> Include
22-02-2023 09:53 <DIR> Lib
22-02-2023 09:53 77 pyvenv.cfg
22-02-2023 09:53 <DIR> Scripts

将激活和停用虚拟环境以及本地 Python解释器的工具放在脚本文件夹中。

Directory of C:\pythonapp\myvenv\scripts
22-02-2023 09:53 <DIR> .
22-02-2023 09:53 <DIR> ..
22-02-2023 09:53 2,063 activate
22-02-2023 09:53 992 activate.bat
22-02-2023 09:53 19,611 Activate.ps1
22-02-2023 09:53 393 deactivate.bat
22-02-2023 09:53 106,349 pip.exe
22-02-2023 09:53 106,349 pip3.10.exe
22-02-2023 09:53 106,349 pip3.exe
22-02-2023 09:53 242,408 python.exe
22-02-2023 09:53 232,688 pythonw.exe

要启用这个新的虚拟环境,请在Scripts文件夹中执行 activate.bat

C:\pythonapp>myvenv\scripts\activate
(myvenv) C:\pythonapp>

注意括号中的虚拟环境的名称。Scripts文件夹包含 Python解释器的本地副本。您可以在此虚拟环境中启动一个 Python会话。

要确认此Python会话是否在虚拟环境中,请检查 sys.path 。

(myvenv) C:\pythonapp>python
Python 3.10.1 (tags/v3.10.1:2cd268a, Dec 6 2021, 19:10:37) [MSC v.1929
64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', 'C:\\Python310\\python310.zip', 'C:\\Python310\\DLLs',
'C:\\Python310\\lib', 'C:\\Python310', 'C:\\pythonapp\\myvenv',
'C:\\pythonapp\\myvenv\\lib\\site-packages']
>>>

这个虚拟环境的scripts文件夹也包含pip工具。如果您从PyPI安装一个包,那个包将只在当前虚拟环境中生效。要禁用此环境,请运行 deactivate.bat 。

检查当前环境

​python -m venv​

运行此命令后,终端将输出当前所使用的Python虚拟环境的路径。通过base*​表示

通过virtualenv库创建

原文章地址:Python虚拟环境(Python venv)的创建、激活、退出及删除

  除了使用Python内置的venv库外,还有其他方式可以创建Python虚拟环境,其中最常用的是使用第三方工具virtualenv,它是一个灵活的工具,允许在各种操作系统和Python版本中创建虚拟环境,并与不同项目一起使用。它还支持多个Python版本,并提供更多的配置选项,以满足特定项目的需求。
  1)安装virtualenv,使用pip命令安装

pip install virtualenv

  2)创建虚拟环境,在终端中,导航到你想要创建虚拟环境的目录,并运行以下命令来创建虚拟环境:

virtualenv my_venv

创建的虚拟环境一般目录如下:

.
├── Include
├── Lib
│   └── site-packages
├── pyvenv.cfg
└── Scripts
    ├── activate
    ├── activate.bat
    ├── Activate.ps1
    ├── deactivate.bat
    ├── pip3.23.exe
    ├── pip3.exe
    ├── pip.exe
    ├── python.exe
    └── pythonw.exe

Python虚拟环境的激活

  当Python虚拟环境激活以后,就可以在虚拟环境中使用pip来安装第三方依赖项、运行Python程序等工作。

my_venv\Scripts\activate

Python虚拟环境的退出

  当你完成工作时,可以通过运行以下命令来退出虚拟环境

deactivate

Python虚拟环境的删除

  1)在删除虚拟环境之前,请确保你已退出并停用了虚拟环境。
  2)使用文件管理器或终端导航到虚拟环境文件夹,并将其删除。
  3)可以使用终端运行以下命令删除虚拟环境文件夹。

rm -r my_venv

使用conda管理虚拟环境

原文章地址:python虚拟环境卸载及重装

前提是系统环境所安装的python环境为conda环境(anaconda或minconda)

虚拟环境相关命令:

  1. 查看当前存在哪些虚拟环境:conda env list 或 conda info -e;
  2. 查看安装了哪些包: conda list;
  3. 退出虚拟环境: conda deactivate;
  4. 卸载虚拟环境 :conda remove -n your_env_name(虚拟环境名称) --all;
  5. 创建虚拟环境:conda create -n your_env_name(虚拟环境名称);
  6. 激活虚拟环境:conda activate your_env_name(虚拟环境名称);

一、删除python虚拟环境

1.查看当前存在那些虚拟环境

输入以下命令,可以看出当前存在两个虚拟环境,一个是我安装Anaconda时自带的环境,另外一个是自己conda 创建的虚拟环境。

$ conda env list
2.删除虚拟环境

输入以下命令,将我创建的虚拟环境pytorch_env删除。

$ conda remove -n pytorch_env(虚拟环境名称)  --all
3.确认

最后,输入 conda env list,再次查看当前存在那些虚拟环境。至此,所创虚拟环境已被删除。对应安装的python3.7也没有了。

二、删除及安装Anaconda

由于Anaconda的版本号与我即将要新安装的python版本不匹配,所以还得卸载原来python3.7对应的Anaconda3-5.3.0,重新安装适合我将用python对应的版本号。

1.删除Anaconda
1). 删除整个anaconda目录:

由于Anaconda的安装文件都包含在一个目录中,所以直接将该目录删除即可。到包含整个anaconda目录的文件夹下,删除整个Anaconda目录:

rm -rf anaconda文件夹名

2). 建议清理下.bashrc中的Anaconda路径:

a.到根目录下,打开终端并输入:
sudo gedit ~/.bashrc

b.在.bashrc文件末尾用#号注释掉之前添加的路径(或直接删除):
#export PATH=/home/lq/anaconda3/bin:$PATH
保存并关闭文件

c.使其立即生效,在终端执行:
source ~/.bashrc

d.关闭终端,然后再重启一个新的终端,这一步很重要,不然在原终端上还是绑定有anaconda3.

2.安装Anaconda

见我之前发的博客。

三、重新安装虚拟环境

1.虚拟环境的创建命令如下
$ conda create -n your_env_name(虚拟环境名称) python==xx(想要创建的虚拟环境的python版本号)

可以根据自己需要修改
例如要创建基于python3.6版本的python

输入y按下enter确认开始下载安装。

终端提示上述信息说明虚拟环境创建成功。

2.虚拟环境的激活与切换

虚拟环境创建完成之后,终端输入以下命令即可激活虚拟环境

conda activate your_env_name(虚拟环境名称)