小灶时间-如果你还不会用Python虚拟环境

一个鼓捣电脑多年的程序猿,带给你的几点编程套路和几个灵巧工具,希望为你的编程之路添砖加瓦,加血回蓝,一起拼荆斩棘,共同成长。统称:小灶时间,作者:第8哥。

1. 为什么用Python虚拟环境

实际工作中,我们接触的 Python 版本和相关的 web 框架版本往往是不一样的,比如有的组合可能是 python2 + Django1.8,有的可能是 python3.6 + Django1.12,两个还好办,我在电脑上安装两个版本的 python 不就好了?

但是,如果有五六七八个项目,需要五六七八套 python 环境呢?这就轮到虚拟环境登场了。

2. 下载安装

2.1 Windows

直接下载安装包,下载完,直接下一步默认安装就好。

2.2 Linux or Mac

直接下载脚本 xxxx.sh ,xxxx 指代版本号,打开控制台终端,cd 到那个下载目录,然后直接 sh xxxx.sh 安装就ok了

3 怎么玩-基本命令

3.1 基本命令说明

(Windows最好配合ConEmu使用)
相关文件在这里:
【8组程序员小灶时间】工具链接: https://pan.baidu.com/s/1i5HtBFn 密码: kw4f

#查看版本
conda info —envs
或
conda env list

# **注意,为了避免你的网络太慢,请先运行下面命令加速一些**
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

# 安装完整版python2版本的conda
conda create -n py2 python=2 anaconda

# 移除虚拟环境
conda remove --all -n 3todo

# 创建只有django的python2环境,名字py2-dj,注意,python=2 django是连续参数
conda create python=2 django -n py2-dj

# 如果不指定python版本,那是不能够滴,会报错
conda create -n env-test
Error: too few arguments, must supply command line package specs or --file

# 所以要至少指定个python版本,可以不带任何库
conda create -n env-test python=3
Fetching package metadata .......

# clone环境的2种办法
1. pip(只是复制安装包)
(pytest) C:\ProgramData\Anaconda3>cd D:\pyTools
(pytest) C:\ProgramData\Anaconda3>d:
(pytest) D:\pyTools>pip freeze > env.txt
env.txt里内容如下:
Django==1.10.5

新建环境pytest2,并进入,加入这里只有个requests
(pytest2) D:\pyTools>pip freeze
requests==2.14.2
下面把pytest的包安装过来
(pytest2) D:\pyTools>pip freeze
requests==2.14.2

(pytest2) D:\pyTools>pip install -r env.txt
Collecting Django==1.10.5 (from -r env.txt (line 1))
  Downloading Django-1.10.5-py2.py3-none-any.whl (6.8MB)
    100% |████████████████████████████████| 6.8MB 144kB/s
Installing collected packages: Django
Successfully installed Django-1.10.5

(pytest2) D:\pyTools>pip freeze
Django==1.10.5
requests==2.14.2

2. 使用clone命令(复制整套环境)
D:\pyTools>conda create --clone pytest2 -n py3
Source:      C:\Anaconda3\envs\pytest2
Destination: C:\Anaconda3\envs\py3
(py3) D:\pyTools>pip freeze
Django==1.10.5
requests==2.14.2

新建虚拟环境示意图:

3.2 写个Django环境测试一下:

D:\pyTools>cc py2dj18 python=2 django=1.8
Fetching package metadata .......
Solving package specifications: ..........
coa py2dj18 # 激活环境
1. 新建 project
django-admin.py startproject pxjgz

2. 新建 app
cd pxjgz 进入目录
python manage.py startapp app01
或 django-admin.py startapp app01

3. python manage.py runserver

打开浏览器,在 127.0.0.1:8000 就能看见可以工作的界面了。

4 自定义命令别名[这是关键]

是不是上面有些命令运行不了?别着急,因为我自定义了一些。

下面是我自己编的,你可以自定义。然后放到.bashrc,或.bash_profile就可以了!

4.1 linux或mac

# alias for conda
 alias cl="conda env list"
 alias cc="conda create -n"
 alias coa="source activate"
 alias cod="source deactivate"
 alias cr="conda remove --all -n"

注意:对于Linux,最好自己添加一下环境变量,conda的脚本执行完,也会提醒你的。
添加下面这行到.bashrc

export PATH=/root/anaconda3/bin:$PATH

最后别忘了重新加载一下。

source ~/.bashrc

4.2 Windows最好配合ConEmu使用

在settings->Startup>Environment

alias cl=conda env list
alias cc=conda create -n $*
alias coa=activate $*
alias cod=deactivate
alias cr=conda remove --all -n $*

『补充』在mac中的使用示例

建立py3-dj,使用和删除的整个过程

-------
~ cc py3-dj python=3 django
Fetching package metadata .......
Solving package specifications: ..........

Package plan for installation in environment /Users/howie/anaconda3/envs/py3-dj:

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    django-1.9.5               |           py35_0         3.6 MB
    setuptools-26.1.1          |           py35_0         524 KB
    ------------------------------------------------------------
                                           Total:         4.1 MB

The following NEW packages will be INSTALLED:

    django:     1.9.5-py35_0
    openssl:    1.0.2h-2
    pip:        8.1.2-py35_0
    python:     3.5.2-0
    readline:   6.2-2
    setuptools: 26.1.1-py35_0
    sqlite:     3.13.0-0
    tk:         8.5.18-0
    wheel:      0.29.0-py35_0
    xz:         5.2.2-0
    zlib:       1.2.8-3

Proceed ([y]/n)? y

Fetching packages ...
django-1.9.5-p 100% |################################| Time: 0:00:08 437.51 kB/s
setuptools-26. 100% |################################| Time: 0:00:03 154.73 kB/s
Extracting packages ...
[      COMPLETE      ]|###################################################| 100%
Linking packages ...
[      COMPLETE      ]|###################################################| 100%
#
# To activate this environment, use:
# $ source activate py3-dj
#
# To deactivate this environment, use:
# $ source deactivate
#
?  ~ cl
# conda environments:
#
py2                      /Users/howie/anaconda3/envs/py2
py2-dj                   /Users/howie/anaconda3/envs/py2-dj
py3-dj                   /Users/howie/anaconda3/envs/py3-dj
root                  *  /Users/howie/anaconda3

?  ~ coa py3-dj
(py3-dj) ?  ~ python
Python 3.5.2 |Continuum Analytics, Inc.| (default, Jul  2 2016, 17:52:12)
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.__version__
‘1.9.5‘
>>>
(py3-dj) ?  ~ cod
?  ~ cl
# conda environments:
#
py2                      /Users/howie/anaconda3/envs/py2
py2-dj                   /Users/howie/anaconda3/envs/py2-dj
py3-dj                   /Users/howie/anaconda3/envs/py3-dj
root                  *  /Users/howie/anaconda3

?  ~ cr py3-dj

Package plan for package removal in environment /Users/howie/anaconda3/envs/py3-dj:

The following packages will be REMOVED:

    django:     1.9.5-py35_0
    openssl:    1.0.2h-2
    pip:        8.1.2-py35_0
    python:     3.5.2-0
    readline:   6.2-2
    setuptools: 26.1.1-py35_0
    sqlite:     3.13.0-0
    tk:         8.5.18-0
    wheel:      0.29.0-py35_0
    xz:         5.2.2-0
    zlib:       1.2.8-3

Proceed ([y]/n)? y

Unlinking packages ...
[      COMPLETE      ]|###################################################| 100%


作者:第8哥,转载请注明出处

原文地址:http://blog.51cto.com/de8ug/2087144

时间: 2024-08-30 15:29:30

小灶时间-如果你还不会用Python虚拟环境的相关文章

小灶时间-送你一套开箱就用的python服务器

一个鼓捣电脑多年的程序猿,带给你的几点编程套路和几个灵巧工具,希望为你的编程之路添砖加瓦,加血回蓝,一起拼荆斩棘,共同成长.统称:小灶时间,作者:第8哥. 前言 这两年,开始带领小伙伴们一起学python,经常遇到运行环境的各种问题: 我这个命令运行不了 怎么这个安装不上? 这怎么一运行就报错 pip安装不了 虚拟机不会用 vbox兼容 服务器是神马? 针对这些情况: 我想说: 你就安心写代码,安装环境这种乱七八糟的问题让我来!把你的注意力浪费在美好的事物上!多写几个bug造福社会吧! (对于m

小灶时间-左手git右手md,程序员必备工具

1. 为啥学git和md 今天开始我们来学习一些程序员必备的工具,其中我感觉最先了解的就是git和md了. git的用途和好处 git是源代码管理工具.程序员每天要写很多代码(假如不那么懒的话),就不可避免地对代码进行增删改查,如果每次修改都要靠大脑记,那早就死翘翘了.于是,勤劳的先辈们发明了源代码管理工具,准确记忆每一次修改,这样就可以在需要的时候随时查阅代码变化或回到之前的代码版本. git是分布式的代码管理方式.与传统的svn相比,git的用户,在每个人的电脑端都有完整的代码库,只需要简单

手把手教你搭建Python虚拟环境,还不会赶紧收藏学习哦!

不同的python项目可能会用到不同的包,而不同的包或不同的python版本之间可能存在冲突.因此,为每个项目创建不同的虚拟环境非常有用.它可以保证一个项目只访问,它所在虚拟环境下安装的包,保持全局解释器的干净整洁,而且由于环境是独立的,因此不需要超户权限. 创建虚拟环境的方式一般有以下几种. 一种是自Python 3.3增加的用于创建虚拟环境的venv标准库.使用这种方法会在指定目录下,创建一个指定虚拟环境名字的文件夹. 像下面这样,在我创建了一个名为 vir1 的虚拟环境后,产生了一个对应的

你在 19 年剩余的时间里还能学点什么?

时间过得真快,转眼之间 19 年都已经快进入 9 月份了.今天就来谈谈在这剩余的时间中我们还可以学点什么来充实自己,提高自己的竞争力. 前端基础 前端基础的重要性我觉得不需要多说了,无论是写出健壮的代码还是定位问题亦或者是面试中都是相当重要的一块内容.如果你认为自身的前端基础还不过关的话,应该把大量的时间放在学习基础上. 计算机基础 计算机基础对于前端开发者来说最重要的是以下三点: 网络 数据结构 算法 以上这三点的共通性在于:你学了它们,在面试的时候总会带来不小的帮助. 这其中网络应该算是最重

一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本

摘自:http://blog.csdn.net/forandever/article/details/5711319 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本 @for&ever 2010-07-03 功能: 获取指定目录下面符合一定规则的文件名称和文件修改时间,并保存到指定的文件中 脚本如下: #!/usr/bin/env python# -*- coding: utf-8 -*- '''Created on 2010-7-2 @author: fore

Python 虚拟环境 virtualenv

参考链接:python虚拟环境--virtualenv  python虚拟环境安装和配置如何在pycharm中使用配置好的virtualenv环境 virtualenv Python 今天我们就不聊了.接下来咱们说说virtualenv,英文比较好的同学,可能已经猜到了一半,virtual,即:虚拟的.那env是什么鬼?environment吗?所以翻译成中文就是”虚拟环境“.    到底什么是虚拟环境呢?顾名思义,它是一个虚拟出来的环境.通俗的来讲,可以借助虚拟机,docker来理解虚拟环境,

python虚拟环境virtualenv安装和配置

http://blog.csdn.net/pipisorry/article/details/47008981 python虚拟环境virtualenv VirtualEnv用于在一台机器上创建多个独立的python运行环境,VirtualEnvWrapper为前者提供了一些便利的命令行上的封装. Virtualenv是一个非常好的virtual python environment builder,他最大的好处是,可以让每一个python项目单独使用一个环境,而不会影响python系统环境,也

python虚拟环境配置(下)

前言 嘿,各位小伙伴们,晚上好呀,新年快乐,注意预防流感哈,就不要出去浪了,万一中奖了,嗯...,还是当个宅男,宅男无敌,哈哈哈, 过年了,村都被封了,哎,出都出不去,想着干点啥,就把以前没完善的继续完善一下,今天呢,还是继续说python的虚拟环境,因为上次的虚拟环境,写的并不是太完整,还差一些,因为我写的,主要是针对除初学者或者接触过一点的,基础不是太好的,所以用了很多图片,上次的太长了,只能分成两次了,好了,咱们开始正文吧 python虚拟环境配置(上):https://www.cnblo

手把手教你进行Python虚拟环境配置

/1 前言/ 咱们今天就来说一下Python的虚拟环境,可能有的小伙伴会疑惑,Python的虚拟环境有什么用呢?接下来我们一起来探讨一下. /2 虚拟环境的作用/ 咱们今天就来说一下Python的虚拟环境,可能有的小伙伴会疑惑,Python的虚拟环境有什么用呢?接下来我们一起来探讨一下. 我们先来举个例子,来说明为什么需要虚拟环境.我们在学习Python的时候,可能会学到越来越多的第三方库,比如爬虫,我们需要安装requests,可能学着学着,我们还需要安装bs4,或者又学着学着,我们还需要安装