项目虚拟环境配置的N种方法

570 阅读3分钟

前言

和其他大多数现代编程语言一样,Python对包和 模块的下载、存储以及管理有其自己的一套方法。但是当我们同时开发多个项目工程的时候,不同的项目会将第三方的包存放在相同的路径下。这就意味着,如果有两个工程依赖同一个包,但是所需要的版本却不一样,比如项目A依赖v1.0.0,而项目B依赖v2.0.0。由于Python无法根据版本来区分包的安装路径,那么此时,就会发生版本冲突。


简介

本文会从

virtualenvwrapper(virtualenv的进阶版,其提供了一系列命令使得和虚拟环境工作变得便利。)

pipenv

anaconda

三个常用的Python虚拟环境配置来汇总,如有不适之处,还望各位大佬指正。 另:

  • 博客撰写以windows操作系统为基础(囊中羞涩),后续有Money后,会更新其他系统的操作。
  • 项目使用Python版本为3.7.3

virtualenvwrapper

安装

pip install virtualenvwrapper
pip install virtualenvwrapper-win  #Windows使用该命令

路径

详见下图指引(从左至右,依次操作)

Windows系统修改项目环境路径

使用

  1. 创建虚拟环境 mkvirtualenv test_env
  2. 查看所有的虚拟环境 workon
  3. 使用虚拟环境 workon test_env
  4. 退出虚拟环境 deactivate
  5. 删除虚拟环境 rmvirtualenv test_env

pipenv

一个好的程序员,果断必须熟练阅读各种文档,源码。追根溯源方能获取真知!

强烈推荐:pipenv文档

特性

  1. pipenv集成了pip,virtualenv两者的功能,且完善了两者的一些缺陷。
  2. pipenv使用Pipfile和Pipfile.lock,查看包的依赖关系十分方便。
  3. Pipfile 文件是 TOML 格式而不是 requirements.txt 这样的纯文本。一个项目对应一个 Pipfile,支持开发环境与正式环境区分。

安装

pip install pipenv

使用

常用命令大全:

pipenv --where                 列出本地工程路径
pipenv --venv                  列出虚拟环境路径
pipenv --py                    列出虚拟环境的Python可执行文件
pipenv install                 创建虚拟环境
pipenv isntall [moduel]        安装包
pipenv install [moduel] --dev  安装包到开发环境
pipenv uninstall[module]       卸载包
pipenv uninstall --all         卸载所有包
pipenv graph                   查看包依赖
pipenv lock                    生成lockfile
pipenv run python [pyfile]     运行py文件
pipenv --rm                    删除虚拟环境

备注:直接在项目根目录下,使用pipenv install xxx即可创建项目环境,并安装xxx包


anaconda

Anaconda 是一个包含数据科学常用包的 Python 发行版本。其使用 conda 创建环境,以便分隔使用不同 Python 版本和不同程序包的项目。

特性

  1. pip仅适用于Python,conda适用于Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++等语言
  2. conda结合了pip和virtualenv的功能。
  3. pip在系统自带Python中,包的**更新/回退版本/卸载将影响其他程序;而conda不会影响系统自带Python。

安装

此处跳过安装anaconda,如有需要可参考anaconda安装、介绍、使用

使用

  1. 验证conda已被安装 conda --version
  2. 创建新环境
conda create --name <env_name> <package_names>
#示例:
conda create --n test_conda_env

注意:

<env_name>即创建的环境名。建议以英文命名,且不加空格,名称两边不加尖括号“<>”。

如果要安装指定的版本号,则只需要在包名后面以=和版本号的形式执行。如:conda create --name python2 python=2.7,即创建一个名为“python2”的环境,环境中安装版本为2.7的python。

如果要在新创建的环境中创建多个包,则直接在<package_names>后以空格隔开,添加多个包名即可。如:conda create -n python3 python=3.5 numpy pandas,即创建一个名为“python3”的环境,环境中安装版本为3.5的python,同时也安装了numpy和pandas。

  1. 查看所有的环境 conda info --env
  2. 管理和使用环境 activate test_conda_env
  3. 退出环境 deactivate
  4. 删除环境(不要乱搞事情) conda remove -n test_conda_env --all

ok,这篇关于如何创建Python项目环境的文章就暂时先告一段落。 初写博客,当然会有很多不足之处,如有错误遗漏的地方呢,还请各位老少爷们儿多多指教。