背景
使用 python 在做 AI 方面的开发, 所以准备将 python 全栈打通.该系列文章主要参考 FlaskWeb 开发, 并且记录开发过程中的一些问题, 去除了自己认为不没必要掌握的内容
使用虚拟环境
为什么使用
要编写 python 代码并且运行,那么必须要安装 python 解释器.通常我们安装的 python 环境是全局性的环境.但我们开发不同的项目可能会需要不同的 python 运行环境,例如不同的包,不同的环境变量设置等.如果都把所需要用的包装到全局性的 python 运行环境,那么可能会引起包的冲突, 并且该环境的包一多依赖也多, 维护和管理起来也很麻烦.所以这时候我们需要一个工具, 能够创建一个独立的,类似于沙盒的环境, 该环境中有一个独立的python 解释器的副本, 开发的时候, 可以根据开发需要在该环境下安装相应的软件包等.
优点
- 能够解决不同项目中包的冲突, 使得开发环境更加干净和纯粹.
- 使用虚拟环境, 不需要管理员权限.
具体工具
创建虚拟环境的工具现在有很多了, 但我还是只用 virtualenv, 因为该工具即支持python2.7的旧环境, 也支持新python3, 从工程角度上来说其兼容性和稳定性会比较好.
- 检查有没有装 virtualenv.
virtualenv --version
可能出现报错1, 表示没有安装 virtualenv
Traceback (most recent call last):
File "/usr/local/bin/virtualenv", line 7, in <module>
from virtualenv import main
ModuleNotFoundError: No module named 'virtualenv'
可能出现的报错2, 对于这种报错, 一般是之前安装的 python 版本没有清理赶紧.
其实 python 中的所有程序,不管是 pip,还是 virtualenv 也是一个 python 程序,所以他们都会声明要引用的解释器.
zsh: /usr/local/bin/virtualenv: bad interpreter: /usr/local/opt/python3/bin/python3.5: no such file or directory
这种报错就表明 python3.5这个解释器是不存在的.
1.先用where virtualenv
命令查看 pip 这个 python 程序安装在哪里
2.编辑 pipsudo vim /usr/local/bin/virtualenv
3.将第一行的/usr/local/opt/python3/bin/python3.5
改成对应的存在的 python 版本,例如我这边是 python3.6
如果 pip 出现类似问题,也一样,先查找 pip 位置,然后更改 pip 文件里引用的解释器位置.
- 安装 virtualenv.
pip3 install virtualenv
1.一点细节
virutalenv 这个文件里引用的是哪个解释器, 就会拷贝哪个解释器到虚拟环境中, 并且会自动安装 pip 包管理器上去.
最新的还有一个叫 pyvenv 用来替换 virtualenv, 不过其在 py3.4版本之前不会自动安装 pip,对于 python2.7支持也不够好.所以还是先用 virutalenv.
安装 flask 框架
- 切换到桌面目录, 创建 flask_study 虚拟环境
virtualenv flask_study
- 激活虚拟环境.先切换到 flask_study 目录下, 执行
source ./bin/activate
- 安装 flask.
pip install flask
网友评论