在Windows系统中,如何使用virtualenv模块来创建和管理Python虚拟环境

系统环境:

Windows 10 专业版 64bit

Anaconda 3, python 3.7.6

问题描述:

在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4。所有第三方的包都会被pip安装到Python3的site-packages目录下。

如果我们要同时开发多个应用程序,例如:使用不同版本的Django来开发不同的Django项目,或者使用不同的Python版本来开发不同的项目,那这些应用程序都会共用一个Python,就是安装在系统的Python 3。如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办?

这种情况下,每个应用可能需要各自拥有一套“独立”的Python运行环境。virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。

问题解决:

1、首先,我们用pip安装virtualenv:

pip install virtualenv

 2、使用virtualenv创建一套独立的Python运行虚拟环境:

(1)打开命令行工具,cd到你想存放虚拟环境的文件夹路径,创建存放虚拟环境的文件夹:

mkdir .virtualenvs

 .virtualenvs文件夹存放的路径可以由你自己决定,但是要确保避免误删,可以考虑放在C盘(系统盘)中。

 (2)cd进入.virtualenvs文件夹,创建python虚拟环境:

virtualenv  -p=python3.7.6 venv_name

 如果你的电脑系统中装了多个版本的Python,你可以通过-p=python3.7.6来指定使用哪个版本的Python来创建虚拟环境。

venv_name为你虚拟环境的名称,这个由你自己决定,不同项目的虚拟环境就是通过这个名称venv_name来进行区分的。

经过步骤(2),你就可以看到.virtualenvs文件夹下多了一个venv_name目录,该目录下装的就是刚才创建的Python虚拟环境。

(3)激活该Python虚拟环境,cd进入到venv_name\Scripts文件夹,运行:

activate

这时候,你可以看到命令行前面多了 (venv_name) ,代表venv_name这个python虚拟环境已经激活。

(4)这时候,你就可以使用pip来安装package到当前这个Python虚拟环境下了。如:安装Django 1.11的最新版:

pip install django~=1.11

(5)那如何使用该Python虚拟环境呢?如:使用Django 1.11来创建Django工程,在上面的命令行中(要确保该Python虚拟环境已经激活,即前面有显示(venv_name)),运行:

django-admin startproject project_name project_path

project_name :该Django工程的名称;project_path:该Django工程保存的路径

(6)若是要调用Django的manage.py文件来创建应用,就要cd到manage.py所在的目录,运行:

python manage.py startapp app_name

 app_name:该应用的名称

(7)对于Python虚拟环境的其他使用,可以参考以上对Django的使用示例。

(8)你也可以把上面创建好的Python虚拟环境添加到Pycharm等IDE软件中,这样你在Pycharm上面运行代码,就可以使用上面创建好的Python虚拟环境了。 


总而言之, virtualenv模块就是在你的电脑中创建了一个新的Python环境,也就是可以理解为复制了一份你电脑原来安装的python环境(即python的版本跟原来的一样),只是这个新的Python环境没有复制其他的第三方python package。

你可以在该命令行下,运行:

pip list

可以看到只安装了:

pip        20.1.1
setuptools 46.4.0
wheel      0.34.2

这三个package (这里可能你的电脑显示的是其他的package)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值