Python applications will often use packages and modules that don’t come as part of the standard library. Applications will sometimes need a specific version of a library, because the application may require that a particular bug has been fixed or the application may be written using an obsolete version of the library’s interface.This means it may not be possible for one Python installation to meet the requirements of every application. If application A needs version 1.0 of a particular module but application B needs version 2.0, then the requirements are in conflict and installing either version 1.0 or 2.0 will leave one application unable to run.The solution for this problem is to create a virtual environment, a self-contained directory tree that contains a Python installation for a particular version of Python, plus a number of additional packages.Different applications can then use different virtual environments. To resolve the earlier example of conflicting requirements, application A can have its own virtual environment with version 1.0 installed while application B has another virtual environment with version 2.0. If application B requires a library be upgraded to version 3.0, this will not affect application A’s environment.
引用自Virtual Environments and Packages
Python 虚拟环境与docker容器的概念有点类似,也和操作系统的沙箱有点类似。用户可以创建独立的虚拟环境,然后在虚拟环境安装指定的外部包,每个虚拟环境之间不会相互影响。
所以,独立的虚拟环境可以方便制作不同的application runtime,也是用来制作测试环境。
python3 -m venv tutorial-env
# start
source tutorial-env/bin/activate
# stop
deactivate
加入找不到venv
这个module,可以通过apt-get
或者yum
等包管理工具安装
e.g. ubuntu
sudo apt-get install python3-venv
方法一:hardcode python bin,并执行文件
vi example.py
#!/home/tom/py3-venv/bin/python
....
./myscript.py
方法二:编写一个脚本,通过脚本制定python bin
#!/bin/bash
/home/tom/py3-venv/bin/python myscript.py
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。