菜单

python项目重视管理分享迁移后重建开发环境(一)virtualenv 和 pip

2019年4月1日 - 金沙编程资讯

虚拟环境效能:

作者:Panda Fang

出处:

原创小说,转发请表明作者和出处,未经同意不可用于生意营利活动

图片 1

参考小说

           1.
数见不鲜开发2个品种,会安装很多的第贰方包,那时第壹方包大家是设置在本机环境的.那么要是项目举行计划或移植的时候是还是不是要重新安装这个包????

Why 开发中相见了问题

讲讲软件工程中写代码之外的文化。开发中大家往往境遇这几个难点:

壹 、贰个档次写了很多代码。使用部分第二方包或然模块,对于这些项目以来早已能很好的工作了,
可是后来那些包或模板有了新版,改动较大,一旦升级,此前的不在少数代码要改,很伤心。不过大家也无法永远用老版本的,新开的类型或许想尝尝鲜,又或工作之外自身想先熟识新技巧。默许景况下,五个种类中唯有一份第一方包或模块,无法达成。所以我们盼望自身的电脑中能同时并存多个版本的模块或包

② 、本人写的体系源代码转移到其余机器上依然分享给外人,又也许从旁人获得花色,如何能一点也不慢重建开发条件呢,
项目用了什么第二方包,什么版本。 假使那些搞不定,那么代码就跑不起来。
从github上下载的人家代码,是不含有第一方包的,有个别人又不写文书档案,尽管从代码报错中能找到缺乏的第壹方包或模块,也很难掌握适当的版本,本身装的版本万一不对路又特别,有个别代码中的模块名和在pip仓库中的名字也不自然相同,境遇自个儿不熟稔的pip
install 也白搭,总之麻烦一大堆。

 

图片来源 unsplash

virtualenv

I 用pip安装virtualenv

pip install virtualenv

设若失败,能够换sudo pip install virtualenv,纵然还不行,那就依照难点提醒谷歌(Google)吧.

II
假定我们要支付一个新的品种,需求一套独立的Python运营条件,先创立文件夹,例如命名为myproject

mkdir myproject
cd myprojict

III 在myproject目录下,成立1个独自的Python运营环境,例如命名为env1

virtualenv --no-site-packages env1

命令virtualenv就能够创制3个独门的Python运转条件,大家还丰硕了参数--no-site-packages,那样,已经设置到系统Python环境中的全体第二方包都不会复制过来,那样,我们就获取了1个不带别的第叁方包的“干净”的Python运转环境。

IV 进入env1环境

source env1/bin/activate

注意此时下令行会多五个(env1),env1为虚拟环境名称,接下去全部模块都只会设置到该目录中去。
接下去你可以用pip安装包了.

V 退出环境

deactivate

这儿就赶回了常规的条件,今后pip或python均是在系统Python环境下实行。

VI 删除环境,直接删除环境所在文书夹

rm -r env1

virtualenv是哪些创建“独立”的Python运转环境的吧?原理很不难,正是把系统Python复制一份到virtualenv的环境,用命令source
venv/bin/activate进入二个virtualenv环境时,virtualenv会修改有关环境变量,让命令python和pip均指向当前的virtualenv环境。

          
2.花费环境,同时在做两相项目,同时要用到Django那一个包,可是3个门类要用1.8版本,1个要用1.9怎么做,虚拟环境由此诞生了…………..

What 什么能解决大家的标题 virtualenv 和 pip

java 中有maven 和 pom.xml ,android 有 gradle 和 build.gradle , node.js
有 npm 和
package.json。 pom.xml、  build.gradle、package.json都以记录依赖包及其版本的配置文件。

python 中国化学工业进出口总集团解第 1 个难点,就引出了
virtualenv 虚拟环境, 化解第 2 个难点,就需求pip 和 virtualenv
协作使用。
 

pip
是管制第①方包的,私下认可情形下,是装在大局系统里的,全数项目都共用同六个本子的第②方包

有了 virtualenv 每种系列都能有谈得来单独第3方包,隔开分离了。3个品种用 v1.0
 另3个品种能用 v2.0

 

古人云:功遇善其事,必先利其器。在正儿八经学习 Django Web
框架从前,大家要把准备工作抓好。准备干活第3是搭建支付条件,具体育工作作是安装
Python、创立虚拟环境 venv、安装 Django、安装 IDE 工具(Pycharm)。

virtualenvwrapper

virtualenvwrapper是virtualenv的恢宏包,可以更便于地新增,删除,复制,切换虚拟环境。

I 利用pip安装

pip install virtualenvwrapper

同virtualenv,假诺地方的通令不行,用sudo pip install virtualenvwrapper试试.

II
接下来创造我们之后接纳Python的虚拟环境文件夹,例如命名为PythonVirtualEnv

mkdir PythonVirtualEnv

那时候,还利用持续virtualenvwrapper的通令,因为virtualenvwrapper私下认可安装在/usr/local/bin下边,实际上你必要周转virtualenvwrapper.sh文件才行,那要求配备环境变量.
注:你能够用vi virtualenvwrapper.sh,查看环境变量的布署表明,摘出来如下:

# Setup:
#
#  1. Create a directory to hold the virtual environments.
#     (mkdir $HOME/.virtualenvs).
#  2. Add a line like "export WORKON_HOME=$HOME/.virtualenvs"
#     to your .bashrc.
#  3. Add a line like "source /path/to/this/file/virtualenvwrapper.sh"
#     to your .bashrc.
#  4. Run: source ~/.bashrc
#  5. Run: workon
#  6. A list of environments, empty, is printed.
#  7. Run: mkvirtualenv temp
#  8. Run: workon
#  9. This time, the "temp" environment is included.
# 10. Run: workon temp
# 11. The virtual environment is activated.
#

因为小编用的zsh,所以供给在~/.zshrc中添加

export WORKON_HOME=$HOME/PythonVirtualEnv
source /usr/local/bin/virtualenvwrapper.sh

PythonVirtualEnv是我们刚刚创设的文书夹.

保存退出.zshrc,重启终端(iTerm),恐怕source ~/.zshrc.

III 那样我们就能够用virtualenvwrapper命令了

 

How 如何选择

1 安装 Python

假诺您采纳的桌面系统是 Windows,你要求到 Python 官网下载安装包。 Linux
和 Mac 系统都自带了 Python 运维条件。Python 分为 2 和 3 版本,如今Python 团队将要告一段落维护 Python 2 本子,所以建议设置 Python
3。近年来流行版本是 3.6.4。其它,本种类文章适合全体 Python
基础的同桌。即使你对 Python 基本语法依然很糊涂,建议您先把基础知识抓实。

下载并安装 虚拟环境virtualenv:

哪些运用 pip 常用功用

自家利用的是windows 10 和 从python官网下载的 python 3.6.3 exe
安装包,其他系统和本子只怕会遇上区别的题材。那几个版本安装到位后,已经带上了pip。

按  ❖  + 路虎极光 然后输入cmd 进入命令行,输入  pip  将会显得pip 的用法,
假使出错,恐怕没有装上pip ,
 参考 怎样设置pip

好端端境况下会来得如下内容(笔者那边只贴出部分)

Usage:
  pip <command> [options]

Commands:
  install                     Install packages.
  download                    Download packages.
  uninstall                   Uninstall packages.
  freeze                      Output installed packages in requirements format.
  list                        List installed packages.
  show                        Show information about installed packages.
  check                       Verify installed packages have compatible dependencies.
  search                      Search PyPI for packages.
  wheel                       Build wheels from your requirements.
  hash                        Compute hashes of package archives.
  completion                  A helper command used for command completion.
  help                        Show help for commands.

 

上面介绍pip 常用法,以requests 模块为例

查看pip 版本

pip -V

 

安装第贰方包 格式:  pip install
<package>   

 pip install requests  或者可以指定版本  pip install requests==2.18.0  输入完成后enter等待安装完成。

想通晓仓库中有什么可选版本

>= pip 9.0 以后

pip install requests==

赢得新闻

Collecting requests==
  Could not find a version that satisfies the requirement requests== (from versions: 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.3.0, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.4.0, 0.4.1, 0.5.0, 0.5.1, 0.6.0, 0.6.1, 0.6.2, 0.6.3, 0.6.4, 0.6.5, 0.6.6, 0.7.0, 0.7.1, 0.7.2, 0.7.3, 0.7.4, 0.7.5, 0.7.6, 0.8.0, 0.8.1, 0.8.2, 0.8.3, 0.8.4, 0.8.5, 0.8.6, 0.8.7, 0.8.8, 0.8.9, 0.9.0, 0.9.1, 0.9.2, 0.9.3, 0.10.0, 0.10.1, 0.10.2, 0.10.3, 0.10.4, 0.10.6, 0.10.7, 0.10.8, 0.11.1, 0.11.2, 0.12.0, 0.12.1, 0.13.0, 0.13.1, 0.13.2, 0.13.3, 0.13.4, 0.13.5, 0.13.6, 0.13.7, 0.13.8, 0.13.9, 0.14.0, 0.14.1, 0.14.2, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.1.0, 1.2.0, 1.2.1, 1.2.2, 1.2.3, 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.2.1, 2.3.0, 2.4.0, 2.4.1, 2.4.2, 2.4.3, 2.5.0, 2.5.1, 2.5.2, 2.5.3, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.8.0, 2.8.1, 2.9.0, 2.9.1, 2.9.2, 2.10.0, 2.11.0, 2.11.1, 2.12.0, 2.12.1, 2.12.2, 2.12.3, 2.12.4, 2.12.5, 2.13.0, 2.14.0, 2.14.1, 2.14.2, 2.15.1, 2.16.0, 2.16.1, 2.16.2, 2.16.3, 2.16.4, 2.16.5, 2.17.0, 2.17.1, 2.17.2, 2.17.3, 2.18.0, 2.18.1, 2.18.2, 2.18.3, 2.18.4)
No matching distribution found for requests==

< pip 9.0  给三个不算的本子号

pip install requests==-1

 

设置后想查看安装的什么版本、笔者、存放地方等消息 格式  pip show <package> 

pip show requests

 卸载第二方包 格式  pip uninstall
<package> 

pip uninstall requests

列出全部已安装包及其版本

pip list

 

2 创造虚拟环境 venv

一提到 Python 虚拟环境,你会惊讶说为啥不用
virtualenv?如果你生产或支付环境需同时帮衬 Python 2 和 Python 3
,那就供给 virtualenv。大家是从零起来上学 Django,所以能够一直利用
venv。一句话来说,venv 模块是 Python 3.3
版本之后,标准库自带的虚拟环境创立和管理工科具,在 Python 3 版本是顶替
virtualenv。

为啥要开创虚拟环境呢?
你也许会从网上下载一些康宁工具或许软件。你害怕那个程序带有后门,甚至是木马程序。所以不敢在大团结眼下的连串中央直属机关接运转。你会动用
VMware
创设三个虚拟机,然后在虚拟机中运作该程序。不管程序是或不是是病毒,都不会对本人日前的种类造成影响。因为虚拟机和日前的系统互相隔开,互不影响。虚拟机现身难点,只要删除即可,不会潜移默化到眼下系统。使用
venv
创设虚拟环境也是同等的道理。在现阶段系统中创设出3个环境,该环境足以跟当前系统互不影响,你能够任意折腾。此外,有了
virtualenv
虚拟环境之后,大家就足以把那多少个文件夹全部拷贝了,布署起来方便广大。

虚拟环境严厉来说也是1个第贰方包,大家需求先进行下载:

何以选择 virtualenv

python 3.6.3 Windows
安装包已经包括了这么些效应。在桌面创造三个myapp的公文夹,作为大家的连串文件。
打开文件夹, 按下Alt + D , 光标就会一定到地址栏, 输入cmd
 enter,弹出cmd 窗口并在这一个文件夹了,免去繁琐的cd。
注意以下进度中不要关闭cmd

 输入 

python -m venv venv

那将会在 myapp 文件夹内创制多个 venv 文件夹。 第3个venv 是调用
virtualenv 功能, 第①个 venv 是文件夹的名号,
能够任意取五个友好喜欢的称号

假定这步操作尤其,大概是跟小编的python版本差异,
大概安装的时候贫乏了什么。那么要求换一种办法,输入

pip install virtualenv

设置实现后 输入

virtualenv venv

同等也能创建 venv 文件夹。 python -m venv
venv   正常工作的永不管地方两步

探访venv 文件夹 那中间就隐含了一部分独门运作必要的文件。

有了那几个文件夹之后, 使用 pip install
,仍旧设置到全局系统中。那么怎样才能做事在virtualenv 中吗,输入 

venv\Scripts\activate.bat

能够看出,原来的门径前边多了2个 (venv) ,若是您用的其他名字,正是别的。
借使关闭了cmd ,再打开仍旧要用那种措施激活

图片 2

 

 

上面以requests 包为例写个例子项目, 进入 virtualenv环境后,输入

pip install requests

创建三个python 源文件 app.py ,输入以下代码

import requests

r = requests.get('https://www.baidu.com')
print(r.status_code)

接下来回来 cmd 输入 

python app.py

运行代码互联网通畅的场合下会输出 200

为了印证使用了 virtualenv ,确实能隔绝 第①方包注重。 今后大家离开
virtualenv环境
,cmd 输入 

venv\Scripts\deactivate.bat

能够看出,路径后面包车型地铁(venv) 没了,回到了大局系统 。
如若从前依据步骤执行过  pip uninstall requests
 将来全局系统中就不设有这几个第叁方包了

再度输入

python app.py

赢得输出

Traceback (most recent call last):
  File "app.py", line 1, in <module>
    import requests
ModuleNotFoundError: No module named 'requests'

别的项目 也像 myapp 那样去处理,就能够依靠关系隔断了

                     

2.1 venv 使用

开创 Python 虚拟环境,其实是“创制” 叁个文书夹。假诺大家需求在 D
盘中创设三个名为 web_dev 的虚拟环境。打开终端,执行以下命令。

// venv 后面接上创建虚拟环境的绝对路径,建议文件名不要事先存在。
// Windows、Mac、Linux 执行命令都是一样,只不过路径不一样
python -m venv D://web_dev

推行创立命令之后,你会意识多出了二个名为 web_dev
文件夹,那申明已经创办成功。进入目录,里面有八个文件夹。

图片 3

成立虚拟环境的做到,只是完成了大体上办事。革命还尚未成功,大家还亟需激活虚拟环境。依旧是开辟终端,进入
Scripts 文件夹,运行 activate.bat 来激活虚拟环境。 Linux 下没有
Scripts 这些目录,取而代之的是
bin目录。而激活脚本名则是activate

图片 4

激活完结,我们下一步正是安装 Django 库。

pip install virtualenv

如何迁移后复原重建开发环境

多个门类要享受到github , 也许开发组的别的成员, 又或然自个儿换了机械,
怎样重建开发环境呢,装上一样的第一方包。 那里用自身的微处理器模拟

cmd 定位到刚刚桌面上的myapp文件夹。 

venv\Scripts\activate.bat

激活virtualenv , 输入

pip freeze > requirements.txt

导出了第一包的笔录文件 。

再在桌面创立3个test文件夹,
里面再次创下制3个myapp文件夹,把刚才Desktop\myapp里的 app.py 和
requirements.txt 文件复制到那个文件夹里。

其它打开一个cmd 定位到新建的 myapp 文件夹 ,然后创立virtualenv

python -m venv venv

应用方面包车型客车一声令下成立好之后 激活

venv\Scripts\activate.bat

激活之后,注意现行反革命工作在virtualenv里。使用pip
苏醒安装注重的第①方包,命令如下

pip install -r requirements.txt

等待完成。 运行app.py

python app.py

运营代码网络通畅的情景下会输出 200

由来恢复生机重建开发条件形成

 图片 5

 

 参考资料: 

                                         

3 安装 Django

抑或上述的虚拟环境中,我们透过 pip 方式来安装
Django。即便您把终端关闭了,那也意味着把虚拟环境给关闭了。你依照上述激活步骤重新进入虚拟环境即可。

D:\web_dev>D://web_dev/Scripts/activate.bat
(web_dev) D:\web_dev>pip install django
Collecting django

 

4 安装 IDE 工具(Pycharm)

我们需求到 Pycharm 官网下载安装包。
安装版本一定要采取 Professional !
安装版本一定要选用 Professional !
设置版本一定要挑选 Professional !
第三的话说三遍~

因为这些本子集成了许多 Web 开发组件,无须手动。

另附上
PyCharm下载地址

Pycharm
是收费版本。假使您有规则的话,能够采取购买正版。恐怕到网上采用激活码。

virtualenv创建:

5 初始 Django

自家以前写了 Django 早先种类小说。你能够先阅读下,那样您对 Django
有全部的认识以及控制些基本知识(创立项目,运行品种等)。

Django学习之旅(一)
Django学习之旅(二)
Django学习之旅(三)
Django学习之旅(四)
Django学习之旅(五)
Django学习之旅(六)

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图