第一模块:打造编程环境—打造万能的python开发环境 jupyter巨好玩-调试代码自动变文档

1. 为什么用Python虚拟环境

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

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

2. 下载安装

2.1 Windows

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

下一步next

默认所有用户

默认安装3.6-记得选上添加到环境变量path,或者安装完手动添加

开始安装

安装完成

不用查看这俩,看我的就好!

安装miniconda,默认+选择环境变量

3 怎么玩-基本命令

3.1 基本命令说明

(Windows最好配合ConEmu使用)
相关文件在这里:
工具链接: https://pan.baidu.com/s/1i5HtBFn 密码: kw4f

到百度直接搜索ConEmu下载安装版,(要是用不了,可以下载绿色版)

替换cmd

默认的在家待着吧

image.png

替换为conemu,下载绿色版本,解压就能用

 Windows最好配合ConEmu使

接着配置一下window环境

配置快捷命令别名

去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 $*

1 linuxmac

# 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

到conemu里继续一下操作

#查看版本
conda info —envs
或
conda env list
简写cl
(# **注意,为了避免你的网络太慢,请先运行下面命令加速一些** conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

conda config --set show_channel_urls yes)

4:多个环境演示:

python2

在conemu里输入

> conda create -n py2 python=2

重新开一个再输入

python3.5

  • >cc py35 python=3.5
  • 新建虚拟环境示意图:

    新建pytest

    进入环境

    查看安装包

    然后coa +环境名字就是进入环境
  • 进入环境后pip freeze查看当前环境下(装的包)
  • 命名规则:py版本——主程序库版本号
  • 比如:cc py2-dj10 python=2 django=1.10 安装命令+名字(py版本加主要程序库版本号)+哪个环境+安装django版本
  • 在创建的环境里要安装什么就是pip + install + django 它就自动安装了,这是安装django,其他等同
  • cod 退出环境
  • 先退出才能删除,cr+文件名
  • requirements.txt文件国际通用名,本质就是一个txt名字里面放的是一些库,为了方便改成env.txt

建立方法  pip freeze> env.txt  回车

环境迁移和导入 首先先建立一个env.txt文件,pip freeze>env.txt

第二步导入:pip install -r env.txt

卸载方法:pip uninstall djamgo  

配合vscoude使用多个python环境

环境变量:首先找到conemude的位置找到应用程序,复制一个conemu64的副本,并且改名为cmdd,然后把cmdd的位置目录加到电脑的环境变量里如下C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Scripts\;C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\;C:\Program Files\Microsoft VS Code\bin\;C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Scripts\;D:\360dowldluo\ConEmuPack.161206\

pycharm下载运行

pycharm的快捷键操作

jupyter简介

jupyter是啥啊?
这个要从ipython说起,ipython是个交互式的python的解释器,自带颜色,补全还有行号,科学界的很多大牛都用来进行数据分析和图形显示。

ipython还可以运行在浏览器上,就是下面这个样子:

名字也就高大上一点,叫ipythoon notebook,那个jupyter图标一开始就有的,现在升级改造了,不止于运行python,还有R,spark之类的高大上玩意儿。所以就直接用 jupyter来指代这一对产品了。

官方有个try页面,可以玩一玩。

https://try.jupyter.org/

jupyter安装

官方推荐的安装是这个:http://jupyter.readthedocs.io/en/latest/install.html

Download Anaconda. We recommend downloading Anaconda’s latest Python 3 version (currently Python 3.5).
Download Anaconda. We recommend downloading Anaconda’s latest Python 3 version (currently Python 3.5).
Install the version of Anaconda, which you downloaded.
Install Jupyter using conda from the Terminal (Mac and Linux) or a Command Prompt window (Windows):
conda install jupyter
Congratulations. You have installed Jupyter Notebook. To run the notebook:
jupyter notebook

咱们民间可以直接安装
如果已经有python环境:

直接pip install jupyter

如果没有:
就先安装个python环境,然后再装

运行

jupyter notebook

然后就自动打开浏览器中localhost的8888端口,就可以在线写代码啦!不止于python,还有R等...

用户界面和主要功能

  • 写代码
  • 写文档(cell类型就分成markdown和code,随便改,所以我这文章都是直接写出来的)
  • 科学运算和画图(numpy, scipy,pandas之类的以前都需要一个个安装啊,现在全齐了)

示例代码

4+6
10

这货是个装饰器

def show_output(func): def wrapped(*args, **kwargs): output = func(*args, **kwargs) print("the result is : ", output) return wrapped
def is_even(num): return num % 2 ==0

使用装饰器运行函数,并输出结果

f = show_output(is_even)
f(3)
the result is :  False

正文

整理一下有用的设置:

自定义jpython工作目录

jupyter notebook默认打开的页面时,默认在的是home路径,会看见一大堆东西,假如我们只想展示jupyter的工程目录咋办?

简单说,就是怎么打开自定义的ipython工作目录!

简单,改配置!

配置文件在.jupyter\jupyter_notebook_config.py

先在电脑里找到jupyter_notebook_config.py这个文件然后用vscound打开

当然,默认可能没有,你需要手动生成:

jupyter notebook --generate-config

然后打开jupyter_notebook_config.py,找到

c.NotebookApp.notebook_dir = u'C:\\study\\jupyter'

添加你的目录,再次启动notebook就好了。这里是我的win7下的设置。你的随意了。

jupyter notebook

从新启动,再次新建文件,你会发现就在这个自定义的工程目录了。

没有目录怎么办那就创建,cd.. 直到c盘然后mkdir study----这是创建一个目录,然后进去这个目录cd study+tab键进入study目录,然后再mkdir jupyter

然后就有jupyter notebook

两种模式

命令模式(Esc)

在默认的输入模式下,按Esc可以进入命令模式,是不是和vim有点像?

代码和markdown是常用的两种:分别用y和m切换,前提是在命令模式下!

查看快捷键:

Help-Keyboard Shortcuts

如下图所示:最常用的我给加点颜色吧!

输入模式(Enter)

用过ipython的应该对前面的In[],这种标志已经见习惯了,就是直接输入代码的。
这样的代码有语句,有运行结果,有错误提示,简直是居家必备啊!

下面是个检测python版本的例子:
但此时咱们在写字呢,怎么添加一个cell并且开始写代码,直到运行呢?
步骤如下:

  • Esc进入命令模式
  • 按一下B在下面添加一行
  • 写代码
  • 用ctrl+enter运行,或者alt+enter也行(这时候会自动再插入一行)
  • 你会看见类似下面的样式
import sys
print sys.version
2.7.11 |Anaconda 4.0.0 (64-bit)| (default, Feb 16 2016, 09:58:36) [MSC v.1500 64 bit (AMD64)]

 

jupyter巨好玩-调试代码自动变文档

 

正文

有时候,我们写python程序,总是会出现各种错误,当酒过三巡,菜过五味,所有问题都解决了之后,我们就想把犯过的错误总结一下,以便日后查询。这时候问题来了,难道要一一重现一下?

jupyter来了!一切都解决了,这就是个代码摄像机啊,写代码时候出错了,一堆错误提示,没关系,从新插入一个cell,再次写起来!直到正确为止!

 

第一个错误

# 假装我不会写helloworld
print hello world
  File "<ipython-input-1-e9edef3fb57e>", line 2
    print hello world
                    ^
SyntaxError: invalid syntax

第二个错误

# 难道加个引号?
print 'hello world"
  File "<ipython-input-2-efbc3c88a80d>", line 2
    print 'hello world"
                      ^
SyntaxError: EOL while scanning string literal

啥情况?引号也不行?!

好吧,原来要写一对啊!

终于

# 这次对了吧?你好!世界!
print 'hello world'
hello world

ok,写到这里,错误代码有了,错误信息有了,最终也有了正确代码,咱们发布博客吧!

 

用vscode发布

  • 另存为md文件
  • vscode打开
  • 用writecnblog插件发布
 


正文

有时候,我们写python程序,总是会出现各种错误,当酒过三巡,菜过五味,所有问题都解决了之后,我们就想把犯过的错误总结一下,以便日后查询。这时候问题来了,难道要一一重现一下?

jupyter来了!一切都解决了,这就是个代码摄像机啊,写代码时候出错了,一堆错误提示,没关系,从新插入一个cell,再次写起来!直到正确为止!

 

第一个错误

# 假装我不会写helloworld
print hello world
  File "<ipython-input-1-e9edef3fb57e>", line 2
    print hello world
                    ^
SyntaxError: invalid syntax

第二个错误

# 难道加个引号?
print 'hello world"
  File "<ipython-input-2-efbc3c88a80d>", line 2
    print 'hello world"
                      ^
SyntaxError: EOL while scanning string literal

啥情况?引号也不行?!

好吧,原来要写一对啊!

终于

# 这次对了吧?你好!世界!
print 'hello world'
hello world

ok,写到这里,错误代码有了,错误信息有了,最终也有了正确代码,咱们发布博客吧!

 

用vscode发布

  • 另存为md文件
  • vscode打开
  • 用writecnblog插件发布

猜你喜欢

转载自www.cnblogs.com/chenlingxiang-bo-ke/p/8994127.html