[关闭]
@zhangyy 2017-08-18T17:04:06.000000Z 字数 4194 阅读 229

Python学习笔记(1)安装及虚拟环境搭建

Python基础



实验环境:
系统版本: CentOS release 6.5 (Final)
YUM源:http://mirrors.163.com/.help/CentOS6-Base-163.repo (163源)
GIT源:https://github.com/yyuu/pyenv-installer

一. 安装python虚拟环境

永远不要破坏系统自带的python环境

项目 Python版本
项目A python2.7
项目B python3.5

需求:不同的项目需要不同的python环境可能这个应用需要包A的1.9版本,另一个应用需要包A的2.0版本,并且为了不破换系统的python版本(导致yum无法使用),采用pyenv来安装和管理python环境。


1. YUM源准备

系统自带的是公司的yum源,在这里不想用,在/etc/yum.repos.d 文件夹下使用

  1. rm -rf *

将163的源传到/etc/yum.repos.d下,运行下列命令清空缓存读取新缓存

  1. yum -y clean all
  2. yum -y makecache

安装python的包需要epel源的支持,需要安装epel源

  1. yum -y install epel-release

在清空缓存读取新缓存

  1. yum -y clean all
  2. yum -y makecache

2. pyenv安装

(1) git安装

  1. yum -y install git

(2)编译环境安装

  1. yum -y install gcc make patch

(3)依赖包安装

  1. yum -y install gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel

openssl-devel 加密有关,readline-devel 自动补全,zlib/bzip2 包管理

(4)pyenv安装
pyenv是一个bash脚本,通过下面命令运行这个脚本,运行

  1. curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash

image_1b61d7mle131n103d8r943j13989.png-25.2kB

上图提示安装成功,还需要添加运行环境到~/.bash_profile文件中vim ~/.bash_profile添加三行到文件中

  1. export PATH="/root/.pyenv/bin:$PATH"
  2. eval "$(pyenv init -)"
  3. eval "$(pyenv virtualenv-init -)"

image_1b61dcb8q14ev9aaqfe18k515lom.png-14.5kB

使改变生效

  1. source ~/.bash_profile

运行

  1. pyenv

image_1b61df8n61bfh1c3n1kr910o133q13.png-46.5kB

表示pyenv安装成功


3. python安装

  1. pyenv install 3.5.2 #接版本号,可以TAB出来,需要等一段时间

如果网速过慢。可以先下载好python的包Python-3.5.2.tgz,放到~/.pyenv/cache(目录要自己新建)下面,运行上面的命令。

如果你属于早期安装的pyenv,那么有可能你无法使用最新版的python,请使用update更新你的pyenv

  1. pyenv install --list # 查看你所可以安装的python程序版本
  2. pyenv update # 更新pyenv程序

image_1b61ds51g19ja1kpkr4e1cov13pf1g.png-16.1kB

如上图安装完成


4.pyenv使用

(1)pyenv versions
列出所有被pyenv安装的版本

  1. pyenv versions
  1. * system (set by /root/.pyenv/version) #系统版本 *表示当前使用的
  2. 3.5.2 #刚安装的版本

(2)pyenv local

  1. pyenv local 3.5.2(版本号) #针对目录使用什么python版本,子目录继承父目录的版本
  2. [root@hx-test02 ane]# pyenv version
  3. 3.5.2 (set by /ane/.python-version)

(3)pyenv global
全局设置成3.5.2的环境 绝对不要使用global

  1. pyenv global 3.5.2

两种方式恢复
* pyenv global system
* rm -rf ~/.pyenv/version
(4)pyenv version
当前目录使用的python版本

  1. pyenv version
  2. system (set by /root/.pyenv/version)

5.虚拟环境的使用

基于某个版本创建虚拟环境
目的:包管理,隔离每个项目的第三方包,生产研发时,针对不同项目创建一个虚拟环境

  1. pyenv virtualenv 3.5.2(版本号) django_text_3.5.2(虚拟环境名字)
  2. pyenv local django_text_3.5.2 #使用虚拟环境
  3. (django_text_3.5.2) [root@hx-test02 django]# #前面的提示表示使用成功

image_1b635fm281qfibg1imb1cf2jtfm.png-15.7kB

虚拟环境产生2个文件,其实django_text_3.5.2只是一个链接文件,方便我们调用

  1. lrwxrwxrwx. 1 root root 50 Jan 10 10:58 django_text_3.5.2 -> /root/.pyenv/versions/3.5.2/envs/django_text_3.5.2
  1. pyenv uninstall django_text_3.5.2 #删除虚拟环境

6.pyenv所用环境失效

今天所有的虚拟环境中输入python全部默认进了系统的2.6.6环境,导致所有的服务无法启动,经检查发现是在bashrc里面有人运行了alias命令,添加了python = sudo python,导致所有的命令都默认到系统python下面去了,删除了bashrc下面的alias后,系统恢复,pyenv恢复正常。

二.ipython的安装

在虚拟环境中运行

  1. pip install ipython #pip是python的包管理工具
  2. pip uninstall ipython #删除ipython
  3. pip install ipython==4.2.0
  1. vim ~/.pip/pip.conf
  2. [global]
  3. index-url = http://mirrors.aliyun.com/pypi/simple/ # 更新下载路径,原理类似我们的yum源
  4. trusted-host = mirrors.aliyun.com #表示信任此站点的软件包
  5. # 如果此目录不存在,需要创建

在实验过程中,使用Xshell4,安装5.1.0版本的ipython会出现提示符闪烁的BUG,如果使用Xshell5不会闪烁,也可以安装低版本的ipython解决(4.2.0)。

三.jupyter学习工具的安装

1.jupyter安装

jupyter notebook是一个网页版的python编写交互模式,他的功能类似于ipython,但是他使用过程很类似我们使用纸和笔操作,可轻松擦除我们先前写的代码。并且他还可以将我们的编写的代码进行保存记录,用来做笔记以及编写简单代码相当方便。那么下面让我们来看如何安装使用jupyter notebook

  1. pip install jupyter #Successfully installed ......表示安装成功

运行jupyter

  1. jupyter notebook --ip=0.0.0.0 --no-browser
  2. #当前目录的python版本是什么,将使用什么版本的python进行运行
  3. #--ip表示监听的IP地址
  4. #--no-browser 表示不打开浏览器,默认端口8888

image_1b63g52bs1vdl1ujh3m8jmn1bji1n.png-52.5kB

  1. http://192.168.7.216:8888/?token=ea347b562df7f63887fa028f33d54ab26c89b8d6a93d7701 访问地址

2.jupyter密码配置

jupyter密码的配置
运行命令生成notebook的配置文件vim /root/.jupyter/jupyter_notebook_config.py

  1. jupyter notebook --generate-config

在jupyter里面运行

  1. from notebook.auth import passwd
  2. passwd()
  3. 输入两次密码得到如下输出
  4. 'sha1:67ab0e8ce8e6:dd1a32997d2de2c9283d730867d3861fcda8ba90'

image_1b6dveuih1ubb1frjg3maqv1t7s9.png-13.8kB

  1. c.NotebookApp.password = u'sha1:67ab0e8ce8e6:dd1a32997d2de2c9283d730867d3861fcda8ba90'

编辑上面生成的配置文件,加上得到的加密文件

image_1b6dvh1op1icp1nlkpps8d7ftm.png-14.9kB

重启jupyter,密码就可以使用了。

四.IDE Pycharm的使用

pycharm分为社区版和专业版,在此演示专业版。

1.pycharm安装

下载链接http://www.jetbrains.com/pycharm/download/#section=windows

2.pycharm添加远程python解释器

File → Settings → Project: mysite4 → Project Interpreter

image_1b63i6ivn1ueh1tc21584oq38e92h.png-59.2kB

image_1b63ijnh7djf7u0crq10p8map3o.png-30.4kB

配置完成后点OK,需要一段时间同服务器同步。

3.pycharm代码共享

Tools → Deployment → Configuration...

选择SFTP模式

image_1b63j0fip166412iu166paaf10vu45.png-8.9kB

配置相应参数

image_1b63j5djb7kbhv0al74c81h1b4i.png-53.7kB

image_1b63jdu9o1fea42g5knqvso95c.png-34.4kB

代码自动上传
Tools → Deployment → Automatic Upload(always)

image_1b63jgpuc1jqu5efcfvesi14js5p.png-66.6kB

Browser Remote Host,同远端服务器同步,同步完成后可以做代码对比(Compare with ......)

4.django项目的一些配置

如上设置后,运行django的实例会发现启动不了,看启动报错是

image_1b63jtrllcka12tdo1sbl31dk36j.png-10.6kB

django在远端启动本地的代码,这样启动不了。

Run --> Edit Configurations... -->Django server (mysite4)

添加参数可以解决
image_1b63k7vqm1mgi6gh5adf221thn70.png-67.3kB
但后来发现添加了代码共享同步后也可以解决(即第3步)

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注