python编译环境搭建(含virtualenv虚拟环境)
如果科学计算等工作,建议使用anaconda发行版本。
可以参考:
1、Anaconda和Pycharm的安装和配置
2、Aancconda使用技巧总结
当经常开发其他项目时,比如操作neo4j时,python的部分库之间存在冲突。这个时候,考虑使用virtualenv来创建独立Python开发环境的工具,避免各项目之间的以来。
一、从python官网下载python版本
我选择使用3.8.1版本:
https://www.python.org/downloads/release/python-381/
在安装时,选择将python加入到系统PATH
路径中。
二、安装virtualenv
virtualenv
创建一个拥有自己安装目录的环境, 这个环境不与其他虚拟环境共享库, 能够方便的管理python版本和管理python库,从而解决依赖版本以及间接依赖问题。
pip install virtualenv
如果没有权限,在windows可以用管理员执行cmd来执行;在linux可以使用sudo pip install virtualenv
来安装。
三、使用virtualenv来创建虚拟环境
3.1 初始化一个虚拟环境
C:\Users\thirsd>cd D:\Programs\Python\venv
C:\Users\thirsd>d:
D:\Programs\Python\venv>virtualenv neo4j_env
created virtual environment in 8419ms CPython3Windows(dest=D:\Programs\Python\venv\neo4j_env, clear=False, global=False)
with seeder FromAppData pip=latest setuptools=latest wheel=latest app_data_dir=C:\Users\thirsd\AppData\Local\pypa\virtu
alenv\seed-v1 via=copy
D:\Programs\Python\venv>
virtualenv neo4j_env
将会在当前的目录中创建一个文件夹,包含了Python可执行文件,以及 pip 库的一份拷贝,这样就能安装其他包了。
如下:
D:\Programs\Python\venv>cd D:\Programs\Python\venv\neo4j_env
D:\Programs\Python\venv\neo4j_env>dir
驱动器 D 中的卷没有标签。
卷的序列号是 8EBB-CF1D
D:\Programs\Python\venv\neo4j_env 的目录
2020/02/16 周日 23:53 <DIR> .
2020/02/16 周日 23:53 <DIR> ..
2020/02/16 周日 23:53 <DIR> Lib
2020/02/16 周日 23:53 300 pyvenv.cfg
2020/02/16 周日 23:53 <DIR> Scripts
1 个文件 300 字节
4 个目录 37,532,127,232 可用字节
D:\Programs\Python\venv\neo4j_env>
可以指定python解释器:
virtualenv -p D:\Programs\Python27 neo4j_env
3.2 使用虚拟环境
要开始使用虚拟环境,其需要被激活:
D:\Programs\Python\venv\neo4j_env>cd D:\Programs\Python\venv\neo4j_env\Scripts
D:\Programs\Python\venv\neo4j_env\Scripts>activate
D:\Programs\Python\venv\neo4j_env\Scripts>pip install py2neo
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Processing c:\users\thirsd\appdata\local\pip\cache\wheels\28\1a\c7\f5b55c0840d1ae2b43a8089ba9efd1b5a3dd42510d323f027e\py
2neo-4.3.0-py2.py3-none-any.whl
Collecting neotime~=1.7.4
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/0b/7e/ca368a8d8e288be1352d4e2df35da1e01f8aaffbf526695df71630bc
b8a6/neotime-1.7.4.tar.gz (17 kB)
Collecting pygments~=2.3.1
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/13/e5/6d710c9cf96c31ac82657bcfb441df328b22df8564d58d0c4cd62612
674c/Pygments-2.3.1-py2.py3-none-any.whl (849 kB)
Collecting certifi
.............................
Successfully built neotime neobolt
Installing collected packages: pytz, six, neotime, pygments, certifi, neobolt, colorama, click, urllib3, wcwidth, prompt
-toolkit, py2neo
Successfully installed certifi-2019.11.28 click-7.0 colorama-0.4.3 neobolt-1.7.16 neotime-1.7.4 prompt-toolkit-2.0.10 py
2neo-4.3.0 pygments-2.3.1 pytz-2019.3 six-1.14.0 urllib3-1.24.3 wcwidth-0.1.8
D:\Programs\Python\venv\neo4j_env\Scripts>
此时可以在D:\Programs\Python\venv\neo4j_env\Lib\site-packages
目录下,看到py2neo
的python库,验证虚拟环境成功。
在linux中,执行
source ${VENV_PATH}/bin/activate
3.2 退出虚拟环境
D:\Programs\Python\venv\neo4j_env\Scripts>deactivate.bat
D:\Programs\Python\venv\neo4j_env\Scripts>
退出后,恢复到系统的默认编译环境中。
如果在linux中,执行
. venv/bin/deactivate
,从而回到系统默认编译环境。
四、在没有网络情况下的经验
4.1 迁移安装包
4.1.1 生成requirements.txt文件
pip freeze > requirements.txt
4.1.2 安装requirements.txt依赖
pip install -r requirements.txt
4.1.3 下载requirements.txt依赖
pip download -d \home\packs -r requirement.txt