【Python入门】安装virtualenv及virtualenvwrapper

virtualenv创建:

怎么行使 virtualenv

python 三.6.3 Windows
安装包已经包括了这几个功效。在桌面创制二个myapp的公文夹,作为我们的品类文件。
打开文件夹, 按下Alt + D , 光标就会一定到地址栏, 输入cmd
 enter,弹出cmd 窗口并在这么些文件夹了,免去繁琐的cd。
注意以下进度中永不关闭cmd

 输入 

python -m venv venv

那将会在 myapp 文件夹内创建3个 venv 文件夹。 第一个venv 是调用
virtualenv 作用, 第1个 venv 是文本夹的称谓,
能够任意取1个和谐喜欢的名称

借使那步操作11分,恐怕是跟自家的python版本分化,
也许安装的时候缺乏了怎样。那么要求换壹种方式,输入

pip install virtualenv

安装到位后 输入

virtualenv venv

1样也能创设 venv 文件夹。 python -m venv
venv   正常干活的决不管地方两步

探访venv 文件夹 那当中就包蕴了有个别单独运维要求的公文。

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

venv\Scripts\activate.bat

能够看出,原来的门路前面多了三个 (venv) ,就算你用的别的名字,正是其余。
假使关闭了cmd ,再打开还是要用那种办法激活

365bet体育在线网投 1

 

 

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

pip install requests

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

import requests

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

接下来回来 cmd 输入 

python app.py

运营代码网络通畅的事态下会输出 200

为了证实使用了 virtualenv ,确实能隔绝 第2方包正视。 以往大家离开
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 创造虚拟环境 venv

1提到 Python 虚拟环境,你会奇怪说怎么不用
virtualenv?要是您生产或开发条件需同时辅助 Python 2 和 Python 3,这就需求 virtualenv。大家是从零开端读书 Django,所以能够直接利用
venv。简单来讲,venv 模块是 Python 三.三版本之后,标准库自带的虚拟环境成立和管理工科具,在 Python 三 版本是顶替
virtualenv。

干什么要创立虚拟环境呢?
你大概会从网上下载1些有惊无险工具或然软件。你毛骨悚然那个程序带有后门,甚至是木马程序。所以不敢在祥和眼下的连串中一贯运维。你会使用
VMware
成立二个虚拟机,然后在虚拟机中运作该程序。不管程序是不是是病毒,都不会对自己眼下的系统造成影响。因为虚拟机和当下的连串相互隔断,互不影响。虚拟机出现难点,只要删除即可,不会潜移默化到当下系统。使用
venv
成立虚拟环境也是一模一样的道理。在时下系统中创立出叁个条件,该环境得以跟当前系统互不影响,你能够轻易折腾。别的,有了
virtualenv
虚拟环境之后,大家就足以把尤其文件夹全部拷贝了,计划起来方便广大。

参考小说

  • virtualenv
  • 详解Mac配置虚拟环境Virtualenv,安装Python科学总计包
  • 365bet体育在线网投,Python
    虚拟环境:Virtualenv

 

何以行使 pip 常用成效

笔者动用的是windows 十 和 从python官网下载的 python 三.6.叁 exe
安装包,其他系统和本子大概会赶上不相同的标题。这一个版本安装达成后,已经带上了pip。

按  ❖  + 猎豹CS陆 然后输入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

 

设置第2方包 格式:  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

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

pip uninstall requests

列出装有已安装包及其版本

pip list

 

图形来源于 unsplash

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命令了

  • 列出虚拟环境列表: workon 可能 lsvirtualenv
  • 新建虚拟环境: mkvirtualenv [虚拟环境名称]
  • 新建2个python三的虚拟环境: mkvirtualenv -p python三 [虚拟环境名称]
  • 起步/切换虚拟环境: workon [虚拟环境名称]
  • 进入当前条件: cdvirtualenv
  • 翻看环境里设置了那一个包: lssitepackages
  • 进去当前条件的site-paceages: cdsitepackages
  • 进去当前环境的site-paceages的有个别包(比如pip): cdsitepackages pip
  • 复制虚拟环境: cpvirtualenv env一 env三
  • 剔除虚拟环境: rmvirtualenv [虚拟环境名称]
  • 相差虚拟环境: deactivate

 

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 虚拟环境, 消除第 二 个难题,就须要pip 和 virtualenv
协作使用。
 

pip
是管制第一方包的,暗中认可景况下,是装在大局系统里的,全部种类都共用同三个本子的第一方包

有了 virtualenv 种种门类都能有友好单独第3方包,隔断了。一个品类用 v一.0
 另一个类型能用 v二.0

 

2.1 venv 使用

始建 Python 虚拟环境,其实是“成立” 1个文书夹。假若我们须求在 D
盘中创造3个名称叫 web_dev 的虚拟环境。打开终端,执行以下命令。

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

进行成立命令之后,你会发觉多出了二个名字为 web_dev
文件夹,那表达已经创设成功。进入目录,里面有两个公文夹。

365bet体育在线网投 2

成立虚拟环境的成功,只是完毕了二分一干活。革命还未曾成功,大家还索要激活虚拟环境。照旧是打开终端,进入
Scripts 文件夹,运行 activate.bat 来激活虚拟环境。 Linux 下未有
Scripts 那么些目录,取而代之的是
bin目录。而激活脚本名则是activate

365bet体育在线网投 3

激活实现,大家下一步正是安装 Django 库。

virtualenv

I 用pip安装virtualenv

pip install virtualenv

壹经战败,能够换sudo pip install virtualenv,假诺还不行,那就根据标题提示谷歌(Google)吧.

II
假定咱们要花费一个新的品种,须要一套独立的Python运维环境,先创设文件夹,例如命名字为myproject

mkdir myproject
cd myprojict

III 在myproject目录下,创制一个独自的Python运维条件,例如命名称叫env1

virtualenv --no-site-packages env1

命令virtualenv就可以创制八个独门的Python运维条件,大家还添加了参数--no-site-packages,那样,已经设置到系统Python环境中的全部第二方包都不会复制过来,那样,我们就收获了3个不带其余第一方包的“干净”的Python运转条件。

IV 进入env1环境

source env1/bin/activate

小心此时命令行会多2个(env一),env一为虚拟环境名称,接下去全数模块都只会设置到该目录中去。
接下去你能够用pip安装包了.

V 退出环境

deactivate

那儿就重临了符合规律的环境,现在pip或python均是在系统Python环境下实施。

VI 删除环境,间接删除环境所在文件夹

rm -r env1

virtualenv是怎么样成立“独立”的Python运维条件的呢?原理非常粗大略,就是把系统Python复制一份到virtualenv的条件,用命令source
venv/bin/activate进入1个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。

          
2.开支环境,同时在做两相项目,同时要用到Django那些包,可是多少个类别要用壹.8版本,三个要用一.九如何是好,虚拟环境由此诞生了…………..

作者:Panda Fang

出处:

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

4 安装 IDE 工具(Pycharm)

我们须要到 Pycharm 官网下载安装包。
设置版本一定要挑选 Professional !
安装版本一定要选取 Professional !
安装版本一定要选择 Professional !
第2的话说一回~

因为这一个本子集成了累累 Web 开发组件,无须手动。

另附上
PyCharm下载地址

Pycharm
是收取费用版本。假诺您有规范的话,能够选用购买正版。大概到网上选用激活码。

cmd命令进入要存款和储蓄虚拟环境的文件夹

How 如何选取

3 安装 Django

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

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

 

Why 开发中相见了难题

讲讲软件工程中写代码之外的文化。开发中咱们1再蒙受这几个题目:

壹、三个种类写了许多代码。使用1些第1方包或许模块,对于这一个类型来说已经能很好的干活了,
不过后来那些包或模板有了新版,改动较大,一旦升级,在此以前的过多代码要改,十分的惨痛。不过我们也不可能永远用老版本的,新开的类型照旧想尝尝鲜,又或办事之外本人想先精通新技巧。暗中认可情状下,1个种类中唯有壹份第1方包或模块,无法成功。所以大家希望自身的微型计算机中能同时现有五个本子的模块或包

二、自身写的类别源代码转移到其余机器上依旧分享给人家,又恐怕从外人获得项目,如何能飞快重建开发环境呢,
项目用了如何第1方包,什么版本。 若是这一个搞不定,那么代码就跑不起来。
从github上下载的外人代码,是不带有第3方包的,某些人又不写文书档案,固然从代码报错中能找到紧缺的第3方包或模块,也很难领会适当的版本,本身装的版本万壹不适宜又格外,有个别代码中的模块名和在pip仓库中的名字也不必然相同,遭逢本身不熟谙的pip
install 也白搭,由此可知麻烦一大堆。

 

6 写在最终

自个儿新建一个 Python Web 学习沟通 QQ
群,群号:70153411二。欢迎我们加群,1起交换,一起读书。


上篇阅读:多少个 Python
编制程序小技巧
推荐介绍阅读:pustil –
获取系统音信库


施行以上创设命令,固然报以下错误:

怎么着迁移后重操旧业重建开发条件

一个品种要享用到github , 只怕开发组的任何成员, 又恐怕本人换了机器,
怎么注重建开发环境呢,装上1样的第一方包。 那里用本身的微型总结机模拟

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

venv\Scripts\activate.bat

激活virtualenv , 输入

pip freeze > requirements.txt

导出了第1包的记录文件 。

再在桌面创设七个test文件夹,
里面再次创下制一个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

从那之后恢复重建开发条件形成

 365bet体育在线网投 4

 

 参考资料: 

                                         

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

pip install virtualenv

1 安装 Python

借使你利用的桌面系统是 Windows,你须求到 Python 官网下载安装包。 Linux
和 Mac 系统都自带了 Python 运维条件。Python 分为 二 和 3 版本,近年来Python 团队将要告壹段落维护 Python 2 版本,所以建议设置 Python
三。方今新型版本是 3.陆.4。其它,本体系文章适合全数 Python
基础的同班。尽管您对 Python 基本语法照旧很糊涂,提出你先把基础知识抓好。

退出虚拟环境
    deactivate

5 初始 Django

本身前边写了 Django 起首种类小说。你能够先阅读下,那样您对 Django
有总体的认识以及控制些基本知识(创立项目,运转项目等)。

Django学习之旅(1)
Django学习之旅(贰)
Django学习之旅(叁)
Django学习之旅(四)
Django学习之旅(5)
Django学习之旅(陆)

发表评论

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