python中如何使用虚拟环境

作者:杨彦星 时间:2021-02-17 22:07:49 

在进行python的开发过程中一直倡导使用虚拟环境来进行项目隔离,这样不会因为python的包不同而导致各种问题,但是以往为了图省事简单,安装包就一直使用pip install 进行全局安装,这样做其实很不好,最近也开始尝试使用虚拟环境来对项目进行隔离开发。

在python中一般情况下有两套方案,一种是使用virtualenv/venv 方式,还有一种是使用pipenv,但是看到网上对于pipenv这个项目有些非议,就目前来说项目的issue和pr很多,但是开发者似乎不太想要对其进行维护,所以还是先尝试比较成熟稳定的virtualenv/venv方式吧,至于pipenv 以后再进行尝试。
我所考虑的几个问题

  1. 如何创建一个虚拟隔离环境

  2. 如何在虚拟环境中安装包

  3. 如何使用国内的镜像源加速

  4. 如何迁移项目到别的机器上

现在主要在python3中开发,所以就直接使用venv的方式吧,virtualenv和venv方式差不多,如果你是在python2中那么就使用virtualenv吧。

如何创建一个虚拟隔离环境

创建目录,并使用命令创建虚拟环境


mkdir venvtest
cd venvtest
python3 -m venv venttest

我是在windows环境下,执行完上面的命令以后会在venvtest目录下venvtest目录,这个目录下有python3环境的基础标准库,并不包含你在全局环境中安装的第三方包。

调用虚拟环境的\Scripts\activate 命令就可以激活虚拟环境,激活虚拟环境以后,命令行提示符前会显示当前虚拟环境的名字:(venttest) E:\venvtest>

安装第三方库

和全局安装一样,使用pip install 命令,只不过这次是安装到了虚拟环境,如运行pip install requests命令,运行之后再查看venvtest\venttest\Lib\site-packages 中就会有requests库了,但是前提一定要使用activate激活当前的虚拟环境,要不就安装到了全局的python site-packages目录里了。

如何使用国内的镜像源加速

在虚拟机环境中使用pip 读取的是全局的镜像回事配置,就是要创建一个环境变量HOME,然后在HOME环境变量的目录下创建pip目录,再创建一个pip.ini,写入


[global]
index-url = https://mirrors.aliyun.com/pypi/simple

我这里使用的是阿里云的镜像加速。

如何迁移项目到别的机器上

我这里简单使用Flask创建一个hello world的项目


from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
return '欢迎来到我的世界'

在激活虚拟环境的情况下使用flask run 命令来运行服务,此时因为flask安装在虚拟环境中,即使全局python环境中没有flask也可以运行,但一定要在激活虚拟环境的状态。

如何迁移项目

换一个电脑开发或者在多人开发的情况下,需要怎么迁移项目呢?
简单的方式是直接将原虚拟环境直接打包到新的目录,然后修改一个相应的目录配置。
主要是Script\activate.bat 将里面的
set "VIRTUAL_ENV=E:\vtest\venttest" 修改为新的路径。
还有一种方式是在原虚拟环境下备份出第三方库列表,然后在新环境中重新安装。
备份列表命令使用pip freeze > requirements.txt 将该虚拟环境安装的第三方包备份到requirements.txt,在新的环境使用pip install -r requirements.txt 进行安装,使用pip freeze 命令也会同时将第三方库的版本信息备份,这样也保证了迁移以后的前后版本一致。
新电脑上也要安装相同使用的python主环境,如你的虚拟环境是pyhon3,新环境只有python2,那也是不行的。
但是之前做项目的时候对第三方库源码进行了修改,这里也需要同时修改一下。

pycharm项目配置虚拟环境

pycharm 在创建项目的时候可以直接使用venv来创建

python中如何使用虚拟环境

在New environment using 的下拉选项中选择 Virualenv,在Base interpreter 中使用python 3.5 ,这里列出了系统中安装的python版本。如果没有列出的话也可以点击后面的… 来手工选一下。

来源:https://www.yangyanxing.com/article/use_venv_in_python.html

标签:python,虚拟,环境
0
投稿

猜你喜欢

  • python实战练习之最新男女颜值打分小系统

    2021-06-12 04:56:27
  • 仿windows选项卡效果拾零

    2013-07-13 09:33:42
  • python如何通过psutil获取服务器cpu、内存、磁盘使用率

    2022-11-07 01:01:29
  • 基于Python OpenCV实现图像的覆盖

    2022-09-12 22:05:02
  • 使用 XMLSPY 设计项目的 Schema 原型

    2010-08-24 18:25:00
  • PHP GD 图像处理组件的常用函数总结

    2023-11-21 21:39:17
  • Python拼接字符串的7种方法总结

    2022-10-28 08:38:00
  • Ubuntu20.04安装Python3的虚拟环境教程详解

    2021-10-28 07:41:36
  • JavaScript缓动动画函数的封装方法

    2023-08-07 10:48:26
  • 深入了解Python中yield from语法的使用

    2022-05-18 08:24:17
  • pytorch 把图片数据转化成tensor的操作

    2022-01-14 19:02:46
  • pandas.read_csv参数详解(小结)

    2022-03-10 21:00:35
  • python创建一个最简单http webserver服务器的方法

    2021-12-15 03:45:40
  • python实现在图片上画特定大小角度矩形框

    2023-03-16 22:03:14
  • 正则表达式字面量在ECMAScript5中的变化

    2012-04-26 16:23:16
  • 解读Python中的frame是什么

    2023-09-26 08:25:50
  • python opencv之SIFT算法示例

    2023-12-27 21:42:33
  • Python实现自动添加脚本头信息的示例代码

    2022-07-02 18:12:42
  • Python contextlib模块使用示例

    2023-08-08 16:34:23
  • 使用Python的Django框架结合jQuery实现AJAX购物车页面

    2023-05-21 01:59:28
  • asp之家 网络编程 m.aspxhome.com