本文介绍在 Linux环境下, Python 环境开发需要配置的内容, 包括 python3 安装, virtualenv 配置, pip 等.
1. 源码安装 python3
-
首先去官网找到 source 地址, Python Source Releases, 以当前最新版本
Python3.6.1
为例, 打开该版本地址 Python 3.6.1 -
选择第一个源码包, 在 Linux 系统上使用 wget 下载.
wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz ![e476766683cf5d13c0d14b77d3462fd2](https://private-alipayobjects.alipay.com/alipay-rmsdeploy-image/skylark/attach/1563/e476766683cf5d13c0d14b77d3462fd2)
-
解压缩, 编译安装 Python3, 安装需要用到 sudo 权限, 提前切换成有 sudo 权限的用户.
tar -zxvf Python-3.6.1.tgz
cd cd Python-3.6.1
./configure && make && sudo make install
安装完成后, terminal 中输入 python3 就能打开解释器
$python3
Python 3.6.1 (default, Apr 6 2017, 20:09:12)
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
2. 安装包管理工具 pip
2.1 pip 介绍
pip 之于 Python, 好比 mvn 之于 Java, npm 之于 NodeJS.
好消息是, 如果你使用最新的 Python3 或者 Python2(Python 2 >=2.7.9 or Python 3 >=3.4), 系统默认已经安装了 pip.
比如上面安装的 Python3, 我们很快找到 pip 的路径:
$which python3
/usr/local/bin/python3
cd /usr/local/bin
$ls pip*
pip3 pip3.6
2.2 pip 手动安装
为了兼容 Python 老版本, 介绍下安装 pip 的步骤, 同样需要使用 sudo 权限:
wget https://bootstrap.pypa.io/get-pip.py && sudo python get-pip.py
3. 配置 Python 执行环境 virtualenv
在开发Python应用程序的时候, 如果不同项目使用的 Django 版本不同, 第三方的包都会被pip安装到的site-packages目录, 会导致相互覆盖, 因此用到 Python 环境管理器 virtualenv 解决.
virtualenv 主要解决如下问题:
- 不同项目使用不同版本的包, 相互独立
- 安装包, 不需要 sudo 权限
3.1 区分 pyenv pyvenv virtualenv
首先理解 3 个容易混淆的概念:
-
pyenv
这是一个python 版本安装器, , 详情见官网说明. 比如本文 Python3.6.1 可以使用该工具进行安装:pyenv install 3.6.1
-
pyvenv
Python3.3 集成到标准库中的虚拟环境管理器, 放目的是将来替代 virtualenv (参考 PEP405), 但是不支持低版本的 Python, 当前功能不是非常完善.
-
virtualenv
本地新建目录, 将系统 Python 环境完整拷贝过来, 保持每个 python 环境的独立性.
3.2 virtualenv 使用介绍
- 首先, 安装 virtualenv
sudo pip3 install virtualenv
- 然后, 创建一个独立的 Python 环境, 给项目使用, 比如命名 great_python3_env
virtualenv great_python3_env
Using base prefix '/usr/local'
New python executable in /home/admin/git/great_python3_env/bin/python3.6
Also creating executable in /home/admin/git/great_python3_env/bin/python
Installing setuptools, pip, wheel...done.
如果不需要当前环境的包, 使用 virtualenv nowamagic_venv --no-site-packages
进行安装
- 最后, 激活该环境, 也可以将如下命令添加到
~/.bashrc
或者~/.zshrc
中
source great_python3_env/bin/activate
(great_python3_env)
这样你就拥有了项目独立占用的 Python 环境, 由于刚才是 pip3 安装的 virtualenv, 因此生成的环境也是基于 Python3 的. 命令行测试如下:
$which python
~/git/great_python3_env/bin/python
可见 python 命令已经指向到了该环境中的 python, 同样, 该环境下使用 pip 命令安装, 也会安装到 ~/git/great_python3_env/lib/python3.6/site-packages/
中.
3.3 退出 virtualenv 环境
使用 deactivate 退出当前环境
deactivate
4. 总结
以上就是 Python 开发前的环境准备工作了, 简单整理如下:
# 1. 源码安装
mkdir ~/git && cd git
wget wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz
tar -zxvf Python-3.6.1.tgz
cd Python-3.6.1
./configure && make && sudo make install
# 2. 手动安装 pip
wget https://bootstrap.pypa.io/get-pip.py && sudo python get-pip.py
# 3. 初始化 virtualenv 环境
sudo pip3 install virtualenv
virtualenv great_python3_env
source great_python3_env/bin/activate
# 4. 添加到 .bashrc
echo 'source ~/git/great_python3_env/bin/activate' >> ~/.bashrc
# 5. 退出 virtualenv
deactivate
Recent Comments