python虚拟环境 pyenv_Python 虚拟环境 pyenv、venv(pyvenv)、virtualenv之间的区别

请参考连接 https://blog.zengrong.net/post/2167.html

https://blog.csdn.net/lanonjj/article/details/51050212

为避免链接失效,把原文做了复制黏贴

另外在python3.6中,虚拟应该用如下命令创建

python3 -m venv /path/to/new/virtual/environment

直接用pyvenv/path/to/new/virtual/environment

创建也能成功,但是会有一个warning,具体解释可以参考这个文章https://docs.python.org/3/library/venv.html

yy1s@linux-9qk9:~> pyvenv monitor2

WARNING: the pyenv script is deprecated in favour of `python3.6 -m venv`

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

为了解决包依赖、安装权限和 python 版本问题,程序员们制造了许多工具。我把它们做一个汇总,便于查找。

这里介绍的工具都是当前流行的,不会包含已经不再维护的工具。

virtualenv

virtualenv 是目前最流行的 python 虚拟环境配置工具。它不仅同时支持 python2 和 python3,而且可以为每个虚拟环境指定 python 解释器,并选择不继承基础版本的包。

virtualenvwrapper

关于为什么使用 shell 脚本开发,作者专门 进行了解释 。

virtualenvwrapper 还有针对 vim 用户和 emacs 用户的 扩展 。

virtualenvwrapper 能支持 bash/ksh/zsh ,所以我们可以看出,它不支持 Windows。

virtualenvwrapper-win

由于 virtualenvwrapper 基于 shell 开发,因此不能在 Windows 系统上使用。但我们可以使用针对 Windows batch shell 的 virtualenvwrapper-win。

venv

Python 从3.3 版本开始,自带了一个虚拟环境 venv,在 PEP-405 中可以看到它的详细介绍。它的很多操作都和 virtualenv 类似。

因为是从 3.3 版本开始自带的,这个工具也仅仅支持 python 3.3 和以后版本。所以,要在 python2 上使用虚拟环境,依然要利用 virtualenv 。

在 *nix 系统上,可以直接执行 pyvenv /path/to/new/virtual/enviorment 来创建一个虚拟环境,在 Windows 系统上,则可以使用 python -m venv myenv 来创建。

2015-04-18 更新:

pyvenv 3.4 在 Ubuntu 14.04 下有 bug,如下:

1

2

3

pyvenv ➤ python3 -m venv blog

Error: Command '['/home/zrong/pyvenv/blog/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1

pyvenv ➤ pyvenv-3.4 --without-pip blog

解决方法是创建一个不含 pip 的虚拟环境,然后手动安装 pip :

1

2

3

4

pyvenv-3.4 --without-pip venvdir

source venvdir/bin/activate

curl https://bootstrap.pypa.io/get-pip.py | python

source venvdir/bin/activate

参见:

pyenv

我们可以用许多方法让不同的 Python 版本在系统上共存。

例如在 OS X 上,如果使用官方提供的 DMG 版本安装,那么自带的 python2 和新安装的 python3 是可以共存的。python3 可以使用 python3 来调用,甚至 pip 都可以使用 pip3 来调用。

但如果还有其它小版本需要共存么?我要记忆多少命令呢?

pyenv 用来解决这类问题。它可以安装、卸载、编译、管理多个 python 版本,并随时将其中一个设置为工作环境。

pyenv 不支持 Windows 系统。

pywin

Windows 上有一个 pyenv 的替代品,是 pywin 。它用来在多个安装的 Python 版本之间进行切换,也支持 MSYS/MINGW32 。

Python Launcher for Windows

Python 从3.3版本开始(又是3.3?),在 Windows 系统中自带了一个 py.exe 启动工具。如果你是使用 Python.org 官网下载的安装包安装的 Python 3.3(或更新版本)环境,那么可以直接在命令提示符中使用这个工具。

py 可以打开默认的 python 提示符; py -2.7 和 py -3 打开对应的 Python 版本。

—- 分割线 —-

上面介绍的工具中,前四个是虚拟环境切换工具,后三个是 Python 版本环境切换工具。将这两套工具结合使用,可以完美解决 python 多版本环境的问题。

(全文完)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
) { printf("请输入新的土壤种类:"); scanf("%s", landList[i].soilType); 安装sqlite的Python虚拟环境有以下几个步骤: 1. 安装virtualenv 首先,你需要在 printf("请输入新的形状:"); scanf("%s", landList[i].shape); printf("请输入新的面积你的机器上安装virtualenv。如果你已经安装了pip,那么可以直接使用pip安装virtual:"); scanf("%f", &landList[i].area); printf("请输入新的位置:"); scanf("%s",env: ``` pip install virtualenv ``` 2. 创建虚拟环境 接下来,你需要在你的项目 landList[i].location); printf("修改成功!\n"); return; } } printf("未找到目录下创建一个虚拟环境。假设你的项目目录是`/path/to/project`,那么可以在该地块编号!\n"); } // 查询地块信息 void queryLand() { int id; printf("请输入要该目录下执行以下命令: ``` virtualenv venv ``` 这将在`/path/to/project`目录查询的地块编号:"); scanf("%d", &id); for (int i = 0; i < landCount;下创建一个名为`venv`的虚拟环境。 3. 激活虚拟环境 创建虚拟环境 i++) { if (landList[i].id == id) { printf("地块编号:%d\n", landList[i].后,需要激活该虚拟环境以便在其中安装和运行应用程序。在Linux和macOS系统id); printf("土壤种类:%s\n", landList[i].soilType); printf("形状:%s\n中,可以执行以下命令激活虚拟环境: ``` source venv/bin/activate ``` 在Windows系统中", landList[i].shape); printf("面积:%f\n", landList[i].area); printf("位置:%s\n,可以执行以下命令激活虚拟环境: ``` venv\Scripts\activate ``` 4. 安装sqlite", landList[i].location); return; } } printf("未找到该地块编号!\n"); } 在激活虚拟环境后,可以使用pip安装sqlite3: ``` pip install pysqlite3 ``` // 添加作物信息 void addCrop() { Crop crop; printf("请输入作物种类编号:"); scanf("%这将安装sqlite3并使其可在虚拟环境中使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值