Python环境管理virtualenv&virtualenvwrapper的配置详解
作者:weixin_39883139 发布时间:2021-09-28 01:08:08
背景
Python 作为一门成熟的编程语言,拥有无数优秀的第三方包以方便开发者能够快速地构建应用。一般来说,如果你开发了一个 Python 软件包想供其他人使用,你可以将它上传至 PyPI (Python Package Index) 上,然后其他人就可以通过 pip 或者 easy_install等命令轻松地下载和管理各种包。
但是如果在所有的项目都在一个 Python 环境下,势必会引起包冲突。因此需要一款软件能够把每个项目的Python环境分离开,每个项目有自己独立的Python版本以及依赖。
virtualenv部分
virtualenv 就是这样一款能够建立隔离的 Python 环境的工具。
一. 安装
pip install virtualenv
安装完成之后,输入 virtualenv–version 如果输入版本号,表明安装成功。
二. 基本用法
1、创建环境
cd my_project # 进入工作目录
virtualenv -p /usr/local/bin/python3.8 myenv # 创建一个 python3.8,名为 myenv 的虚拟环境
执行后,当前目录下会生成一个与虚拟环境同名的文件夹,里面包含 Python 可执行文件和 pip 库。
在缺省的情况下,虚拟环境中并没有包含系统环境下的site-packages。如果想要使用系统环境下的第三方包,可以在创建环境的时候使用 --system-site-packages。
virtualenv -p /usr/local/bin/python3.8 --system-site-packages myenv
2、使用环境
cd myenv # 进入虚拟环境目录
source bin/activate # 激活该虚拟环境
运行完之后,命令行的最前面应该出现括号,里面内容是虚拟环境的名字。代表我们已经处于该环境之下,如下图所示。
3、退出环境
deactivate
virtualenvwrapper部分
virtualenv 实际上已经足够优秀,但是在操作上稍稍有些繁琐。比如每次使用 source命令激活环境,忘记虚拟环境的地址等等。别急, virtualenvwrapper 这一工具会让你觉得环境管理是如此简单,优雅。
一. 安装
pip install virtualenvwrapper
二. 配置
将下面的代码添加到 .bash_profile(或者 .zshrc)
# virtualenvwrapper config
if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
fi
其中 WORKON_HOME是告诉 virtualenvwrapper 放置虚拟环境的位置。
添加完之后,执行
source ~/.bash_profile
如果想要确认是否真的安装成功,可以执行
mkvirtualenv --help
如果输出帮助信息,则安装成功。
三. 基本用法
1、创建虚拟环境
mkvirtualenv -p python3 myenv # 创建一个python3,名为myenv的虚拟环境
注意:和 virtualenv 不同,virtualenvwrapper 是在我们刚才所说的 WORKON_HOME目录中创建的虚拟环境而非当前目录。
可以看到命令行的最前面有了括号,里面是环境的名字。也就是说创建完成之后,同时也激活了该环境。可以查看当前环境下的 Python 版本 python-V和已安装的软件包 pip list。
默认情况下,virtualenvwrapper 不会包含系统的软件包,只会安装一些基本的软件包,例如pip, setuptools等等。
2、查看所有的虚拟环境
lsvirtualenv
将会列出所有的虚拟环境的名称。
当然你也可以到 ~/.virtualenvs查看所有的虚拟环境。
3、切换虚拟环境
workon [env] # 直接切换到env
4、退出虚拟环境
deactivate
5、删除虚拟环境
rmvirtualenv [env]
6、项目中引用虚拟环境
方法一:在终端中执行
环境已经创建好了,且也已经激活了。首先进去我的项目目录,执行一下程序。看下图说明是可以了。
方法二:在pycharm IDE中执行
首次创建环境后,需要在IDE中add一下。
选择Existing environment,在下面即可找到刚刚创建的虚拟环境myenv。
下次进入其他项目时,可以直接选就可以了。
参考链接:
https://xu3352.github.io/python/2018/08/17/Python-work-with-virtualenv-and-virtualenvwrapper
官方文档:https://virtualenvwrapper.readthedocs.io/en/latest/
来源:https://blog.csdn.net/weixin_39883139/article/details/107043823


猜你喜欢
- 本文实例为大家分享了python3实现简单飞机大战的具体代码,供大家参考,具体内容如下游戏分为两个部分:1.主程序 2.游戏工具主程序实现:
- 场景在 Go 语言中,常量分为有类型常量和无类型常量。// 有类型常量const VERSION string = "v1.0.0
- 使用了两个卷积层加上两个全连接层实现本来打算从头手撕的,但是调试太耗时间了,改天有时间在从头写一份详细过程看代码注释,参考了下一个博主的文章
- 调用函数:#!/usr/bin/env python3 # -*- coding: utf-8 -*- # 函数调用 >>>
- 目录业务需求:方案一:vuex-persistedstate方案二:vuex-persist总结业务需求:在基于vue开发SPA项目时,为了
- 1. 时间与时区1.1 时间标准UTC,世界标准时间,是现在的时间标准,以原子时计时。GMT,格林威治时间,是以前的时间标准,规定太阳每天经
- 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere people
- 转自微信公众号:机器学习社区,经作者授权转载时间序列分析是数据科学中一个非常重要的领域,它主要包含统计分析、检测变化点、异常检测和预测未来趋
- 一、创建虚拟环境Anaconda是一个Python发行版,有了它就可以新建不同的虚拟环境,比如一个环境需要Python3.7,一个环境需要p
- Tags# 普通for循环<ul>{% for user in user_list %} <li>{{
- centos7之Python3.74安装安装版本:Python3.74系统版本:centos7系统默认安装Python2.7,保留。安装/u
- PS: 我的检索是在文章模块下 forum/article第一步:先安装需要的包:pip install django-haystackpi
- 一、数据爬取的代码#encoding='utf-8'from selenium import webdriverimport
- 由于周牛的JS知识很多,下面我来分享一下SQL下编写储存过程的初级阶段 在数据库界,在SQL,DB,甲骨文三大数据库中,通过编写储存过程增强
- apache对php的支持是通过apache的mod_php5模块来支持的,这点与nginx不同。nginx是通过第三方的fastcgi处理
- 一、简介Locust 是一个易于使用,分布式,用户负载测试工具。它用于负载测试 web 站点(或其他系统),并计算出一个系统可以处理多少并发
- 简述:Django的admin可以提供一个强大的后台管理功能,可以在web界面对数据库进行操作,我们需要修改admin.py将要操作的数据表
- 前段时间写了个比较简单的批量水印添加的python实现方式,将某个文件夹下面的图片全部添加上水印。今天正好有时间就做了一个UI应用的封装,这
- 本文实例分析了GO语言文件的创建与打开用法。分享给大家供大家参考。具体分析如下:文件操作是个很重要的话题,使用也非常频繁,熟悉如何操作文件是
- 数据库服务器主要用于存储、查询、检索企业内部的信息,因此需要搭配专用的数据库系统,对服务器的兼容性、可靠性和稳定性等方面都有很高的要求。下面