1.Linux环境
- [Lock@LockLinux ~]$cat /etc/redhat-release
- CentOS Linux release 7.0.1406 (Core)
2.pyenv
在线下开发学习python应用时,经常回遇到这些情况:
[1]系统为自己的一些python文件服务自带的python是2.x,而自己要用的是3.x
[2]开发多个python项目时,一些项目是2.x,一些是3.x,即使同版本所依赖的包可能不同
pyevn就是能够解决这些,在系统上安装管理多个python版本,而不影响系统自带的python
安装pyenv
- yum -y install git
- curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
- vim ~/.bash_profile //增加如下内容
- export PATH="~/.pyenv/bin:$PATH"
- eval "$(pyenv init -)"
- eval "$(pyenv virtualenv-init -)"
- source ~/.bash_profile //立即生效
-
- [Lock@LockLinux ~]$ls ~/.pyenv/
- bin CHANGELOG.md completions libexec Makefile pyenv.d shims test
- cache COMMANDS.md CONDUCT.md LICENSE plugins README.md src versions
安装python
- //需要编译工具gcc make patch
- //需要依赖包gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel
- pyenv install 3.5.2
-
- //查看pyenv管理的python版本和*标识的当前版本
- [Lock@LockLinux ~]$pyenv versions
- * system (set by /home/Lock/.python-version)
- 3.5.2
-
- //如果没有versions没有更新,可以通过更新数据库再查看
- [Lock@LockLinux ~]$pyenv rehash
使用pyenv切换python版本
- [Lock@LockLinux ~]$pyenv local 3.5.2
- [Lock@LockLinux ~]$pyenv versions
- system
- * 3.5.2 (set by /home/Lock/.python-version)
- [Lock@LockLinux ~]$python -V
- Python 3.5.2
- [Lock@LockLinux ~]$python
- Python 3.5.2 (default, Sep 5 2016, 10:00:49)
- [GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux
- Type "help", "copyright", "credits" or "license" for more information.
- >>>
-
- //交互式环境如果出现删除键等乱码,需要安装readline-devel包再重新安装3.5.2
local:可以把当前目录及其子目录的python版本设置为3.5.2,而不影响上层目录和系统python版本。可以通过删除.python-version文件恢复,或者local切换
global:可以设置全局的python版本,建议绝对不适用!
virtualenv创建虚拟环境
- //创建3.5.2下的Lock虚拟环境,来独立项目所依赖的包
- [Lock@LockLinux ~]$pyenv virtualenv $bash_version $name
- //可以创建多个3.5.2的虚拟环境,通过local切换不同依赖包的同版本的python环境
- [Lock@LockLinux ~]$pyenv local Lock
- [Lock@LockLinux ~]$pyenv versions
- system
- 3.5.2 (set by /home/Lock/.python-version)
- 3.5.2/envs/Lock
- * Lock
uninstall卸载版本或虚拟环境
3.IDEA
4.ipython
ipython是通过对python交互式环境的加强,优化了代码补全、行号等
- // pip安装介绍 或者 包管理工具下载如:apt install python-pip
- https://pip.pypa.io/en/stable/installing/
- //通过pip安装ipython
- (Lock) [Lock@LockLinux ~]$pip install ipython
-
- //可通过配置pip,加快下载
- (Lock) [Lock@LockLinux ~]$mkdir ~/.pip
- (Lock) [Lock@LockLinux ~]$vim ~/.pip/pip.conf
-
- [global]
- index-url = http://mirrors.aliyun.com/pypi/simple/
- trusted-host = mirrors.aliyun.com
-
- //ipython
- (Lock) [Lock@LockLinux ~]$ipython
- In [1]: import os
-
- In [2]: os.
- os.abort os.chown os.CLD_TRAPPED
- os.access os.chroot os.close
- os.altsep os.CLD_CONTINUED os.closerange >
- os.chdir os.CLD_DUMPED os.confstr
- os.chmod os.CLD_EXITED os.confstr_names
5.jupyter
jupyter可通过web页面进行python编辑使用和一些可视化文件操作,jupyter在个路径启动,就在该路径下产生目录和文件
- (Lock) [Lock@LockLinux ~]$pip install jupyter
- (Lock) [Lock@LockLinux ~]$jupyter -h
- (Lock) [Lock@LockLinux ~]$jupyter notebook -h
- (Lock) [Lock@LockLinux ~]$jupyter notebook --ip=0.0.0.0 --no-browser
-
- //通过本地主机浏览器访问,端口号8888.要确保虚拟机防火墙关闭
- (Lock) [root@LockLinux /home/Lock]#systemctl disable firewalld
- //提示ImportError: No module named _sqlite3 因为Lock虚拟环境所属的python版本没有sqlite包,所以安装sqlite包再重新安装环境
- (Lock) [Lock@LockLinux ~]$rm -rf ~/.python-version
- [Lock@LockLinux ~]$pyenv local system
- [Lock@LockLinux ~]$yum -y install sqlite-devel
- [Lock@LockLinux ~]$curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
- [Lock@LockLinux ~]$pyenv uninstall 3.5.2
- [Lock@LockLinux ~]$pyenv install 3.5.2
待修全IDEA