菜单

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

2019年4月2日 - 皇家赌场系统

虚拟环境作用:

作者:Panda Fang

出处:

原创作品,转发请申明作者和出处,未经允许不可用于生意营利活动

图片 1

参考小说

           一.
壹般开发2个连串,会安装很多的第1方包,那时第3方包大家是设置在本机环境的.那么假使项目开始展览布署或移植的时候是还是不是要重新安装这么些包????

Why 开发中遇见了难题

讲讲软件工程中写代码之外的学识。开发中大家反复境遇那么些难题:

一、一个品类写了过多代码。使用部分第二方包只怕模块,对于那一个类型以来早已能很好的行事了,
可是后来这个包或模板有了新版,改动较大,1旦升级,此前的重重代码要改,很愁肠。然而我们也不可能永远用老版本的,新开的品类只怕想尝尝鲜,又或工作之外本身想先纯熟新技巧。私下认可景况下,多个连串中唯有①份第三方包或模块,不恐怕形成。所以咱们期待本人的处理器中能同时并存八个版本的模块或包

二、本人写的档次源代码转移到别的机器上依然分享给人家,又也许从别人获得品种,怎么样能便捷重建开发条件呢,
项目用了怎么第3方包,什么版本。 若是那一个搞不定,那么代码就跑不起来。
从github上下载的旁人代码,是不包罗第3方包的,有些人又不写文书档案,就算从代码报错中能找到缺乏的第3方包或模块,也很难明白适当的版本,自个儿装的版本万1不正好又分外,有个别代码中的模块名和在pip仓库中的名字也不必然相同,碰着自身不了解的pip
install 也白搭,由此可知麻烦一大堆。

 

图形来自 unsplash

virtualenv

I 用pip安装virtualenv

pip install virtualenv

假定战败,能够换sudo pip install virtualenv,若是还百般,那就依照难点提醒谷歌吧.

II
假定大家要开销2个新的项目,必要壹套独立的Python运维条件,先创建文件夹,例如命名字为myproject

mkdir myproject
cd myprojict

III 在myproject目录下,创制2个独门的Python运维条件,例如命名称为env壹

virtualenv --no-site-packages env1

命令virtualenv就能够创设2个独立的Python运维条件,我们还抬高了参数--no-site-packages,那样,已经设置到系统Python环境中的全数第2方包都不会复制过来,那样,大家就获得了四个不带任何第一方包的“干净”的Python运营环境。

IV 进入env1环境

source env1/bin/activate

留意此时下令行会多三个(env1),env壹为虚拟环境名称,接下去全体模块都只会设置到该目录中去。
接下去你能够用pip安装包了.

V 退出环境

deactivate

那时就赶回了常规的条件,未来pip或python均是在系统Python环境下实施。

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

rm -r env1

virtualenv是怎么着创立“独立”的Python运转环境的吗?原理很简短,正是把系统Python复制一份到virtualenv的条件,用命令source
venv/bin/activate进入多个virtualenv环境时,virtualenv会修改有关环境变量,让命令python和pip均指向当前的virtualenv环境。

          
二.支付环境,同时在做两相项目,同时要用到Django那个包,可是二个项目要用一.8版本,二个要用一.玖如何是好,虚拟环境因而诞生了…………..

What 什么能一蹴而就大家的题材 virtualenv 和 pip

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

python 中消除第 一 个难点,就引出了
virtualenv 虚拟环境, 化解第 贰 个难点,就必要pip 和 virtualenv
合作使用。
 

pip
是治本第一方包的,暗中认可意况下,是装在大局系统里的,全体类型都共用同3个版本的第三方包

有了 virtualenv 每一种项目都能有和好单身第二方包,隔开分离了。1个档次用 v一.0
 另一个体系能用 v二.0

 

古人云:功遇善其事,必先利其器。在规范学习 Django Web
框架在此之前,我们要把准备工作搞好。准备工作重大是搭建支付条件,具体做事是设置
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 分为 贰 和 叁 版本,方今Python 团队将要告一段落维护 Python 二 本子,所以提出设置 Python
3。方今最新版本是 3.陆.肆。其它,本系列小说适合全体 Python
基础的同学。纵然你对 Python 基本语法还是很糊涂,提议您先把基础知识压实。

下载并安装 虚拟环境virtualenv:

哪些选择 pip 常用作用

自笔者利用的是windows 10 和 从python官网下载的 python 三.六.叁 exe
安装包,别的系统和本子恐怕会赶上不一致的题材。那几个版本安装完结后,已经带上了pip。

按  ❖  + 陆风X8 然后输入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 九.0  给四个不算的本子号

pip install requests==-1

 

设置后想查看安装的什么版本、小编、存放地点等音讯 格式  pip show <package> 

pip show requests

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

pip uninstall requests

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

pip list

 

二 成立虚拟环境 venv

1提到 Python 虚拟环境,你会好奇说为啥不用
virtualenv?假诺你生产或支付环境需同时帮忙 Python 2 和 Python 三,那就供给 virtualenv。大家是从零初阶上学 Django,所以能够平昔利用
venv。简单的讲,venv 模块是 Python 三.3版本之后,标准库自带的虚拟环境创设和管理工具,在 Python 三 版本是顶替
virtualenv。

为何要创立虚拟环境呢?
您可能会从网上下载一些安然无恙工具也许软件。你毛骨悚然这么些程序带有后门,甚至是木马程序。所以不敢在和谐日前的系统中平昔运转。你会利用
VMware
创设2个虚拟机,然后在虚拟机中运转该程序。不管程序是或不是是病毒,都不会对笔者当下的系统造成影响。因为虚拟机和脚下的种类相互隔开,互不影响。虚拟机出现难点,只要删除即可,不会影响到当下系统。使用
venv
创制虚拟环境也是一模壹样的道理。在近来系统中开创出3个条件,该条件能够跟当前系统互不影响,你能够随心所欲折腾。此外,有了
virtualenv
虚拟环境之后,大家就能够把非凡文件夹全部拷贝了,安顿起来方便广大。

虚拟环境严刻来说也是八个第三方包,大家供给先实行下载:

何以利用 virtualenv

python 三.陆.三 Windows
安装包已经包蕴了那么些作用。在桌面创建3个myapp的公文夹,作为大家的花色文件。
打开文件夹, 按下Alt + D , 光标就会稳定到地址栏, 输入cmd
 enter,弹出cmd 窗口并在这些文件夹了,免去繁琐的cd。
注意以下进程中并非关闭cmd

 输入 

python -m venv venv

那将会在 myapp 文件夹内制造3个 venv 文件夹。 第2个venv 是调用
virtualenv 功效, 第二个 venv 是文件夹的称号,
能够任意取2个友好喜欢的称呼

假诺那步操作特别,大概是跟本人的python版本不一致,
只怕安装的时候缺乏了什么样。那么需求换1种艺术,输入

pip install virtualenv

安装实现后 输入

virtualenv venv

同壹也能成立 venv 文件夹。 python -m venv
venv   符合规律办事的永不管地点两步

探访venv 文件夹 那中间就包蕴了部分单独运作需求的文件。

有了这一个文件夹之后, 使用 pip install
,如故设置到全局系统中。那么怎么着才能做事在virtualenv 中吗,输入 

venv\Scripts\activate.bat

能够看看,原来的门径前边多了四个 (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

施行创设命令之后,你会意识多出了2个名称叫 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文件夹,
里面再创造二个myapp文件夹,把刚才Desktop\myapp里的 app.py 和
requirements.txt 文件复制到这几个文件夹里。

别的打开3个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地图