Python虚拟环境安装及操作命令详解

1. 什么是Python虚拟环境?

虚拟环境是Python中一个重要的概念。它可以让你在同一台机器上运行多个相互独立、不相互干扰的Python环境。

假设你的项目P1依赖于A框架的1.0版本,在Python2.7下运行;而你的项目P2又依赖于A框架的2.0版本,在Python3.5下运行。如果你将它们安装在同一个Python环境中,那么你就要为其中一个项目降低Python版本,或者要求A框架的版本必须相同。

使用虚拟环境,你就可以在同一台机器上同时安装Python2.7和Python3.5,并为每个项目创建一个独立的虚拟环境。这样,项目P1就可以在Python2.7下运行,而项目P2可以在Python3.5下运行,它们互相不会干扰。

2. 安装虚拟环境

2.1 安装虚拟环境工具

Python3.3及新版本自带了venv模块,可以不用安装。如果你使用的Python版本低于3.3,则需要使用虚拟环境工具。

其中,virtualenv是比较流行的一个虚拟环境工具,可以使用pip命令进行安装:

pip install virtualenv

2.2 创建虚拟环境

使用virtualenv创建虚拟环境的命令如下:

virtualenv [虚拟环境的路径]

例如,我们要在当前目录下创建一个名为myenv的虚拟环境,则可以使用以下命令:

virtualenv myenv

这样,就在当前目录下创建了一个myenv文件夹,里面包含了Python运行环境和一些必要的库。

3. 激活与退出虚拟环境

3.1 激活虚拟环境

使用以下命令可以激活虚拟环境:

source [虚拟环境的路径]/bin/activate

其中,虚拟环境的路径为创建虚拟环境时指定的路径。例如,在Linux系统下,如果我们在当前目录下创建了一个myenv虚拟环境,则可以使用以下命令激活虚拟环境:

source myenv/bin/activate

激活虚拟环境后,终端显示的命令提示符会发生变化,显示当前所使用的虚拟环境。

3.2 退出虚拟环境

在虚拟环境中,使用以下命令可以退出虚拟环境:

deactivate

4. 虚拟环境中的操作命令

4.1 安装包

在虚拟环境中,使用pip命令可以安装Python包。例如,我们要安装numpy包,可以使用以下命令:

pip install numpy

如果你需要安装特定版本的包,则可以指定版本号:

pip install numpy==1.18.1

在安装包时,如果需要从源代码进行安装,则可以使用以下命令:

pip install [包名] -e [源代码路径]

4.2 查看已安装的包

在虚拟环境中,使用pip命令可以查看已安装的Python包。例如,我们要查看已安装的numpy包的版本号,则可以使用以下命令:

pip show numpy

4.3 导出虚拟环境中已安装的包信息

在虚拟环境中,我们可以将已安装的包信息导出至一个文件,方便在其他环境中安装相同的包。例如,我们要将虚拟环境中已安装的包信息导出至一个名为requirements.txt的文件,则可以使用以下命令:

pip freeze > requirements.txt

这样,就会在当前目录下生成一个名为requirements.txt的文件,其中包含了已安装的包的名称和版本号。

4.4 从requirements.txt文件安装包

在其他环境中,我们可以使用pip命令根据requirements.txt文件安装相同的包。例如,我们要根据名为requirements.txt的文件安装包,则可以使用以下命令:

pip install -r requirements.txt

这样,就会根据requirements.txt文件中的内容安装相应的Python包。

5. 删除虚拟环境

如果你不再需要某个虚拟环境,可以使用以下命令删除它:

rm -r [虚拟环境的路径]

其中,虚拟环境的路径为创建虚拟环境时指定的路径。例如,如果我们要删除当前目录下的myenv虚拟环境,则可以使用以下命令:

rm -r myenv

6. 总结

Python虚拟环境是一个重要的概念,通过虚拟环境,我们可以在同一台机器上运行多个相互独立、不相互干扰的Python环境。本文介绍了虚拟环境的安装、激活、退出、操作命令等内容,希望能对使用Python的开发者有所帮助。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签