064.Python开发虚拟环境
在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题;亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难。此时,我们需要对于不同的工程使用不同的虚拟环境来保持开发环境以及宿主环境的清洁。
virtualenv是一个可以帮助我们管理不同 Python 环境,可以在系统中建立多个不同并且相互不干扰的虚拟环境。
一 安装、配置virtualenv
1.1下载包
指定清华源下载pip的包
root@darren-virtual-machine:~# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
升级pip工具
root@darren-virtual-machine:~# pip3 install --upgrade pip
1.2 安装virtualenv
root@darren-virtual-machine:~# pip3 install virtualenv
1.3 创建独立的虚拟环境
root@darren-virtual-machine:~/PycharmProjects/drfdemo# virtualenv --python=python3 venv
created virtual environment CPython3.6.9.final.0-64 in 371ms
creator CPython3Posix(dest=/root/PycharmProjects/drfdemo/venv, clear=False, global=False)
seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=/root/.local/share/virtualenv/seed-app-data/v1.0.1)
activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
root@darren-virtual-machine:~/PycharmProjects/drfdemo# ll
drwxr-xr-x 4 root root 4096 4月 12 10:28 venv/
1.4 虚拟环境简单操作
进入虚拟环境
root@darren-virtual-machine:~/PycharmProjects/drfdemo# source venv/bin/activate
使用虚拟环境安装第三方包
(venv) root@darren-virtual-machine:~/PycharmProjects/drfdemo# pip3 install django==1.9.8
查看
(venv) root@darren-virtual-machine:~/PycharmProjects/drfdemo# pip3 list
Package Version
---------- -------
Django 1.9.8
pip 20.0.2
setuptools 46.1.3
wheel 0.34.2
退出虚拟环境
(venv) root@darren-virtual-machine:~/PycharmProjects/drfdemo# deactivate
安装虚拟环境virtualenvwrapper
virtualenv 的一个最大的缺点就是:
每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。
并且还有可能你忘记了虚拟环境放在哪。。。
- 一种可行的解决方案是,将所有的虚拟环境目录全都集中起来,例如/opt/all_venv/,并且针对不同的目录做不同的事。
- 使用virtualenvwrapper管理你的虚拟环境(virtualenv),其实他就是统一管理虚拟环境的目录,并且省去了source的步骤。
二 虚拟环境virtualenvwrapper
2.1 安装虚拟环境virtualenvwrapper
root@darren-virtual-machine:~/PycharmProjects/drfdemo# pip3 install virtualenvwrapper
设置Linux的用户个人配置文件
export WORKON_HOME=~/Envs # 设置virtualenv的统一管理目录, 以后自动下载的虚拟环境,全部都放在这
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='' # 添加virtualenvwrapper的参数,生成干净隔绝的环境
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
执行virtualenvwrapper安装脚本
(drfdemo) root@darren-virtual-machine:~/PycharmProjects/drfdemo# source /usr/local/bin/virtualenvwrapper.sh
(drfdemo) root@darren-virtual-machine:~/PycharmProjects/drfdemo# source /root/.bashrc
2.2 创建一个虚拟环境简单使用
root@darren-virtual-machine:~/PycharmProjects/drfdemo# mkvirtualenv drfdemo -p python3
created virtual environment CPython3.6.9.final.0-64 in 325ms
creator CPython3Posix(dest=/root/Envs/drfdemo, clear=False, global=False)
seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=/root/.local/share/virtualenv/seed-app-data/v1.0.1)
activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
virtualenvwrapper.user_scripts creating /root/Envs/drfdemo/bin/predeactivate
virtualenvwrapper.user_scripts creating /root/Envs/drfdemo/bin/postdeactivate
virtualenvwrapper.user_scripts creating /root/Envs/drfdemo/bin/preactivate
virtualenvwrapper.user_scripts creating /root/Envs/drfdemo/bin/postactivate
virtualenvwrapper.user_scripts creating /root/Envs/drfdemo/bin/get_env_details
(drfdemo) root@darren-virtual-machine:~/PycharmProjects/drfdemo# pip3 list
Package Version
---------- -------
pip 20.0.2
setuptools 46.1.3
wheel 0.34.2
安装一个第三方插件
(drfdemo) root@darren-virtual-machine:~/PycharmProjects/drfdemo# pip3 install django
(drfdemo) root@darren-virtual-machine:~/PycharmProjects/drfdemo# pip3 install django
Collecting django
Using cached Django-3.0.5-py3-none-any.whl (7.5 MB)
Collecting asgiref~=3.2
Using cached asgiref-3.2.7-py2.py3-none-any.whl (19 kB)
Collecting pytz
Using cached pytz-2019.3-py2.py3-none-any.whl (509 kB)
Collecting sqlparse>=0.2.2
Using cached sqlparse-0.3.1-py2.py3-none-any.whl (40 kB)
Installing collected packages: asgiref, pytz, sqlparse, django
Successfully installed asgiref-3.2.7 django-3.0.5 pytz-2019.3 sqlparse-0.3.1
(drfdemo) root@darren-virtual-machine:~/PycharmProjects/drfdemo# pip3 list
Package Version
---------- -------
asgiref 3.2.7
Django 3.0.5
pip 20.0.2
pytz 2019.3
setuptools 46.1.3
sqlparse 0.3.1
wheel 0.34.2
退出虚拟环境
(drfdemo) root@darren-virtual-machine:~/PycharmProjects/drfdemo# deactivate
删除虚拟环境
root@darren-virtual-machine:~/PycharmProjects/drfdemo# rmvirtualenv drfdemo
Removing drfdemo...
参考:https://www.cnblogs.com/tiger666/articles/10312546.html
064.Python开发虚拟环境的更多相关文章
- Python开发虚拟环境使用virtualenvwrapper的搭建及pycharm链接步骤
virtualenv 是一个创建隔绝的Python环境的工具.virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包.创建的环境是独立的,互不干扰,无需sudo ...
- Python开发不可不知的虚拟环境
一.python3.3之后自带的venv模块 1. 创建虚拟环境 python3.6 -m venv project-env 2. 加入虚拟环境目录 cd pronject-env 3. 激活虚拟环境 ...
- [原]打造Python开发环境之初篇
古语有云: 工欲善其事,必先利其器 拥有自己的一套得心应手的Python开发环境,开发起来,简直如丝般顺滑.以我工作中使用到的Python开发环境(主要是Web应用),先做个总体介绍 Python环境 ...
- 老司机带你用vagrant打造一站式python开发测试环境
前言 作为一个学习和使用Python的老司机,好像应该经常总结一点东西的,让新司机尽快上路,少走弯路,然后大家一起愉快的玩耍. 今天,咱们就使用vagrant配合xshell打造一站式Python ...
- ubuntu下创建python的虚拟环境
当我们在同一个机器上进行开发多个项目,每个项目于用到包的不同版本的时候,就很尴尬. 安装python包的命令是: sudo pip install 包名 这样的话,会将包安装到/usr/local/l ...
- Python开发环境-Pyenv安装使用
安装使用-Pyenv 简单的python版本管理:pyenv 管理python解释器 管理python版本 管理python的虚拟环境 官网:https://github.com/pyenv/pyen ...
- 搭建python的虚拟环境
文章连接:https://www.cnblogs.com/zlsgh/p/8485848.html ubuntu系统下Python虚拟环境的安装和使用 前言:进行python项目开发的时 ...
- python开发之虚拟环境管理:virtualenv、virtualenvwrapper、pycharm
1 引言 进行Python开发时,多个项目可能使用到不同的依赖,例如A项目需要1.8版本的Django,而B项目需要2.0版本的Django,这时候如果没有使用虚拟环境,就需要来回卸载和安装Djang ...
- Python 开发安卓Android及IOS应用库Kivy安装尝试
Python 开发安卓Android及IOS应用库Kivy安装尝试: 先来看看这货可以用来制作什么应用: Create a package for Windows Create a package f ...
随机推荐
- PAT B1038 统计同成绩学生
读入N名同学的成绩,然后将获得某一给定分数的学生人数输出第一行给出不超过10^5的正整数,即学生总数:第二行给出N名学生的百分制的成绩,中间以空格分隔:第三行给出要查寻的分数个数K,随后是K个分数,中 ...
- day-6 xctf-hello_pwn
xctf-hello_pwn 题目传送门:https://adworld.xctf.org.cn/task/answer?type=pwn&number=2&grade=0&i ...
- 死磕Spring之AOP篇 - Spring AOP自动代理(二)筛选合适的通知器
该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读. Spring 版本:5.1 ...
- 闲暇时光里最好的挖矿体验——CPU挖乌龟币
我之前其实是不玩加密货币的,主要是没有钱取投资(tou ji),也没有钱去投资矿机. 不过前几天CSDN推送了一个短文,<黑客用GitHub服务器挖矿,三天跑了3万个任务,代码惊现中文> ...
- Score UVA - 1585
There is an objective test result such as "OOXXOXXOOO". An 'O' means a correct answer of ...
- PAT甲级1100——1155题总结
- hdu4864 贪心
题意: 给你n太机器,m个任务,每个任务和机器都有两个权值x,y,每个机器只能被一个任务使用,条件是机器的两个权值分别比任务的大于等于,每个任务获得的价值是x*500+y*2,问你最多能 ...
- 洛谷P1423 小玉在游泳
题目描述 小玉开心的在游泳,可是她很快难过的发现,自己的力气不够,游泳好累哦.已知小玉第一步能游2米,可是随着越来越累,力气越来越小,她接下来的每一步都只能游出上一步距离的98%.现在小玉想知道,如果 ...
- PowerShell-5.网络请求
写了一个函数,用于文件下载并且执行: function DownLoadAndRun($vUrl ,$vLocalPath ,$vStart){ Import-Module BitsTransfer ...
- jquery遍历json的几种方法
for循环: 1 <script> 2 var obj = { 3 "status":1, 4 "bkmsg":"\u6210\u529f ...