CentOS下Python管理
一、升级Python
查看系统版本
cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
查看Python版本
python -V
Python 2.7.5
1.1 安装Python3
安装所有的开发工具包
yum groupinstall "Development tools" -y
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel -y
下载最新的python安装包,从下面链接中找到要下载Python版本的源码包,国内的比较快
# 下载
# wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz
wget http://mirrors.sohu.com/python/3.6.5/Python-3.6.5.tgz
# 解压
tar -xavf Python-3.6.5.tgz
cd Python-3.6.5
# 编译安装
# ./configure --help查看编译参数
# 默认安装在'/usr/local/bin','/usr/local/lib' etc
./configure && make && make install
# 安装后
python -V
python3 -V
which python
which python3
whereis python
whereis python3

二、setuptools和pip
2.1 setuptools
当需要安装第三方python包时,可能会用到easy_install命令。easy_install是由PEAK(Python Enterprise Application Kit)开发的setuptools包里带的一个命令,所以使用easy_install实际上是在调用setuptools来完成安装模块的工作。
通过引导程序 ez_setup.py 来安装
# easy_install命令被安装在/usr/local/bin目录下
# http://peak.telecommunity.com/dist/ez_setup.py
# https://bootstrap.pypa.io/ez_setup.py
wget https://bootstrap.pypa.io/ez_setup.py -O - | python
下载setuptools的egg包,然后通过sh安装
sh setuptools-0.6c11-py2.7.egg
编译安装
下载 https://pypi.org/project/setuptools/#files
# 下载whl
wget https://files.pythonhosted.org/packages/ff/f4/385715ccc461885f3cedf57a41ae3c12b5fec3f35cce4c8706b1a112a133/setuptools-40.0.0-py2.py3-none-any.whl
pip install setuptools-40.0.0-py2.py3-none-any.whl
# 下载zip,源码编译安装
wget https://files.pythonhosted.org/packages/d3/3e/1d74cdcb393b68ab9ee18d78c11ae6df8447099f55fe86ee842f9c5b166c/setuptools-40.0.0.zip
unzip setuptools-40.0.0.zip
cd setuptools-40.0.0
python setup.py install
使用
# pip命令被安装在/usr/local/bin目录下了
easy_install pip
2.2 pip
安装pip
# 使用easy_install
easy_install pip
# https://pypi.python.org/pypi/pip
wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz
tar -xzvf pip-9.0.1.tar.gz && cd pip-9.0.1
python setup.py install
# https://pip.pypa.io/en/stable/installing/
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
配置镜像加速
如何使用科大镜像加速pip https://lug.ustc.edu.cn/wiki/mirrors/help/pypi
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspider
配置镜像 ~/.pip/pip.conf
[global]
index-url = https://mirrors.ustc.edu.cn/pypi/web/simple
format = columns
三、pyenv管理Python版本
3.1 安装
https://github.com/pyenv/pyenv#installation
# 1.Check out pyenv where you want it installed.
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
# 2.Define environment variable PYENV_ROOT
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
# 3.Add pyenv init to your shell
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
# 4.Restart your shell so the path changes take effect.
# exec "$SHELL"
source ~/.bash_profile
# 5.Install Python versions into $(pyenv root)/versions.
pyenv install 2.7.8
升级
# 升级
cd $(pyenv root)
git pull
# 切换版本分支
cd $(pyenv root)
git fetch
git tag
git checkout v0.1.0
卸载
rm -rf $(pyenv root)
3.2 使用
命令
# pyenv共11条命令
[root@www ~]# pyenv
pyenv 1.1.5
Usage: pyenv <command> [<args>]
Some useful pyenv commands are:
commands List all available pyenv commands
local Set or show the local application-specific Python version
global Set or show the global Python version
shell Set or show the shell-specific Python version
install Install a Python version using python-build
uninstall Uninstall a specific Python version
rehash Rehash pyenv shims (run this after installing executables)
version Show the current Python version and its origin
versions List all Python versions available to pyenv
which Display the full path to an executable
whence List all Python versions that contain the given executable
See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/pyenv/pyenv#readme
查看python版本
# 查看版本
pyenv versions
pyenv version
# 设置版本
pyenv global 3.6.3
pyenv local 3.6.3
pyenv shell 3.6.3
pyenv shell --unset
# 说明
# global 设置全局的Python版本,通过将版本号写入 ~/.pyenv/version 文件的方式
# local 设置面向程序的本地版本,通过将版本号写入当前目录下的 .python-version 文件的方式pyenv
# shell 设置面向 shell 的 Python 版本,通过设置当前 shell 的 PYENV_VERSION 环境变量的方式。
# --unset 参数可以用于取消当前 shell 设定的版本。
管理python版本
# 查看帮助
pyenv help install
# 查看通过pyenv可安装的python版本
pyenv install -l
# 安装指定版本,-v显示安装细节
pyenv install -v 2.7.14
pyenv install -v 3.6.3
# 卸载一个版本
pyenv uninstall 2.7.14
# 每次安装或卸载一个版本时都要执行如下命令
# 为所有已安装的可执行文件(如:`~/.pyenv/versions/*/bin/*`)创建shims
pyenv rehash
3.3 使用镜像
镜像:
手动安装
下载需要的版本放到~/.pyenv/cache文件夹下面
# 修改下载链接
vi /root/.pyenv/plugins/python-build/share/python-build/2.7.6
然后执行 pyenv install 版本号 安装对应的python版本
pyenv install 3.6.3 -v
一键脚本安装
# pyenv install 3.6.3
v=3.6.3|wget http://mirrors.sohu.com/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/;pyenv install $v -v
# 分步安装
v=3.6.3
wget http://mirrors.sohu.com/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/
pyenv install $v -v
设置镜像变量
# 设置镜像URL变量
export PYTHON_BUILD_MIRROR_URL="http://pyenv.qiniudn.com/pythons/"
# 安装2.7.5
pyenv install 2.7.5 -v
3.4 搭镜像服务
重命名安装包成64位sha码
sha.py
# -*- coding:utf-8 -*-
import os
import hashlib
import sys
__author__ = 'dave'
def get_hash(filepath):
if not os.path.exists(filepath):
print('File not exists.')
return
# algo = hashlib.md5()
algo = hashlib.sha256()
with open(filepath, 'rb') as f:
while True:
data = f.read(4096)
if not data:
break
algo.update(data)
return algo.hexdigest()
if __name__ == '__main__':
filepath = sys.argv[1]
# md5sum = get_hash('Python-3.3.6.tar.xz')
md5sum = get_hash(filepath)
print(md5sum)
print(len(md5sum))
设置镜像地址
export PYTHON_BUILD_MIRROR_URL="http://127.0.0.1:8000/"
# or
export PYTHON_BUILD_MIRROR_URL="http://0.0.0.0:8000/"
开启服务
# 一定要切换到包含镜像的目录下执行如下命令
cd ~/.pyenv/cache/
# python3
python -m http.server
# python2
python -m SimpleHTTPServer
安装
# 再打开一个终端窗口
pyenv install 3.3.6
四、virtualenv管理Python项目
4.1 安装
https://github.com/pyenv/pyenv-virtualenv
# 1.Check out pyenv-virtualenv into plugin directory
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
# 2.Add pyenv virtualenv-init to your shell
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
# Fish shell note: Add this to your ~/.config/fish/config.fish
# status --is-interactive; and source (pyenv virtualenv-init -|psub)
# 3.Restart your shell to enable pyenv-virtualenv
# exec "$SHELL"
source ~/.bash_profile
4.2 使用
查看帮助
pyenv help virtualenv
Usage: pyenv virtualenv [-f|--force] [VIRTUALENV_OPTIONS] [version] <virtualenv-name>
pyenv virtualenv --version
pyenv virtualenv --help
-f/--force Install even if the version appears to be installed already
有了pyenv-virtualenv以后,我们可以为同一个Python解释器,创建多个不同的"工作环境"。
# 例如,我们新建两个工作环境:
pyenv virtualenv 2.7.14 first_project
pyenv virtualenv 2.7.14 second_project
# 可以使用virtualenvs子命令查看工作环境
pyenv virtualenvs
2.7.14/envs/first_project (created from /root/.pyenv/versions/2.7.14)
2.7.14/envs/second_project (created from /root/.pyenv/versions/2.7.14)
first_project (created from /root/.pyenv/versions/2.7.14)
second_project (created from /root/.pyenv/versions/2.7.14)
# 通过activate和deactivate子命令进入或退出一个工作环境
pyenv activate first_project
# 如果想要删除虚拟环境,则使用:
pyenv virtualenv-delete first_project
五、插件镜像
- 七牛镜像:http://pyenv.qiniudn.com/pythons/
- 科大镜像 https://mirrors.ustc.edu.cn/pypi/web/simple
- 豆瓣镜像 https://pypi.douban.com/simple/
- 官方插件 https://pypi.python.org/pypi
- PyPI Official Mirrors: https://pypi.python.org/mirrors
- PEP-381 Mirroring Protocol: http://www.python.org/dev/peps/pep-0381/
- bandersnatch: https://pypi.python.org/pypi/bandersnatch
- 清华:https://pypi.tuna.tsinghua.edu.cn/simple
- 阿里云:http://mirrors.aliyun.com/pypi/simple/
- 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
- 华中理工大学:http://pypi.hustunique.com/
- 山东理工大学:http://pypi.sdutlinux.org/
CentOS下Python管理的更多相关文章
- Linux CentOS下Python+robot framework环境搭建
Linux CentOS下Python+robot framework环境搭建 by:授客 QQ:1033553122 操作系统环境:CentOS 6.5-x86_64 下载地址:http://w ...
- Centos下磁盘管理的常用命令记录(如查找大文件)
Centos下磁盘管理的常用命令记录 查看系统磁盘空间占用,使用命令: df -h 结果: 查看磁盘inode使用情况,如果inode用完了,磁盘就没法写入新的内容了: df -i 结果: 如何查找磁 ...
- centos 下Python独立虚拟环境创建
virtualenv Python有着庞大的开源社区的支持,很自然就产生这么一个问题:第三方包参差不齐,如果我们想在服务器测试,或者升级某个包,就会导致生产环境产生杂乱,多余的第三方依赖包. virt ...
- centos下python多版本管理(pyenv+python+virtualenv+ipython)
pyenv是个多版本python管理器,可以同时管理多个python版本共存,如pypy,miniconde等等 1 环境准备 安装相关软件和pyenv1.1 安装相关软件yum install -y ...
- centos下python安装与虚拟环境配置
Centos7下安装Python3.7 首先安装依赖包,centos里面是-devel,如果在ubuntu下安装则要改成-dev,依赖包缺一不可,笔者曾安装python3未成功就是因为没有安装libf ...
- Centos下软件包管理
目录 一.安装软件包的三种方法 二.rpm包介绍 三.rpm工具用法 四.yum工具用法 五.yum搭建本地仓库 六.yum更换国内源 七.yum下载rpm包 八.源码包安装 九.扩展 一.安装软件包 ...
- Linux CentOS下Python+robot framework环境搭建
转载自:http://blog.sina.com.cn/s/blog_13cc013b50102vof1.html 操作系统环境:CentOS 6.5-x86_64 下载地址:http://www.c ...
- centos下python中添加easygui模块
前提:python中要集成Tkinter,Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同 ...
- centos下python的pymssql模块安装及简单使用
1.安装pymssq模块 1-1.环境准备: 1-1-1.unixODBC安装 yum install unixODBC unixODBC-devel -y 1-1-2.freetds安装 下载 fr ...
随机推荐
- 算法 | 串匹配算法之KMP算法及其优化
主串 s:A B D A B C A B C 子串 t: A B C A B 问题:在主串 s 中是否存在一段 t 的子串呢? 形如上述问题,就是串匹配类问题.[串匹配--百度百科] 串匹配问题是一 ...
- CSS 常用的定位和布局方法汇总(已添加源码地址)
CSS-Layout 旨在打造详尽的前端布局代码学习库(自从用了框架开发,CSS生疏了不少,所以开这个库练练手)SF不能正确解析含有中文的网址,所以某些预览链接无法跳转,请访问我的博客阅读此文 常见定 ...
- 小程序web-view加载H5信息不全
满足小程序的web-view标签跳转网页形式 配置小程序后台的web-view(业务域名) 可打开关联的公众号的文章 通常实现逻辑 页面加载的时候赋值于一个data对象的值,然后赋值到web-view ...
- Codepen 每日精选(2018-4-4)
按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以打开原始页面. 纯 css 画的扫雷游戏界面https://codepen.io/alejuss/fu... 线条简单的小 ...
- mysql的下载和安装详细教程(windows)
Windows下安装MySQL详细教程 1.安装包下载 2.安装教程 (1)配置环境变量 (2)生成data文件 (3)安装MySQL (4)启动服务 (5)登录MySQL (6)查询用户密码 ...
- IE zoom
zoom是IE浏览器特有的属性,它可以设置或检索对象的缩放比例(它的中文解释是:放大),它的作用通常可以概括为三个方面: 1.hasLayout 2.清除浮动 3.清除div的垂直外边距合并问题 什么 ...
- Python中使用模块和库编程
""" python中使用模块和库编程 导入模块 import modulename [as alias] from modulename import fun1,fun ...
- 机器学习系列:LightGBM 可视化调参
大家好,在100天搞定机器学习|Day63 彻底掌握 LightGBM一文中,我介绍了LightGBM 的模型原理和一个极简实例.最近我发现Huggingface与Streamlit好像更配,所以就开 ...
- IDEA 2022.2.1 Beta 2发布:新增支持Java 18、增强JUnit 5的支持
近日,IDEA 2022.1的Beta 2版本发布了!下面我们一起来看看对于我们Java开发者来说,有哪些重要的更新内容. Java增强 随着Java 18的正式发布,IDEA也在该版本中迅速跟进.目 ...
- Hyperledger Fabric的test-network启动过程Bash源码详解
前言 在基于Debian搭建Hyperledger Fabric 2.4开发环境及运行简单案例中,我们已经完成了Fabric 2.4的环境搭建及fabric-samples/test-network官 ...