我最近学习了如何在工作流程中使用 virtualenv 和 virtualenvwrapper,但我在一些指南中看到了 pyenv,但我似乎无法理解 pyenv 是什么以及它与 virtualenv 有何不同/相似。 pyenv 是 virtualenv 更好/更新的替代品还是免费工具?如果是后者,它有什么不同之处,两者(以及 virtualenvwrapper 如果适用)如何一起工作?
Pyenv and 虚拟环境是非常不同的工具,以不同的方式工作来完成不同的事情:
Pyenv是一个 bash 扩展 - 不适用于 Windows - 它会拦截您对 python、pip 等的调用,将它们定向到几个系统 python 工具链之一。因此,您始终可以使用所选 python 版本中安装的所有库 - 因此,这对于必须在不同版本的 python 之间切换的用户来说是有好处的。
虚拟环境,是纯Python,所以可以在任何地方工作,它复制了,可选的特定版本,激活环境的本地 python 和 pip 可能包含也可能不包含当前系统工具链的链接,如果不包含,您可以仅将已知的库子集安装到该环境中。因此,正如您所知,它几乎肯定更适合测试和部署exactly使用哪些库、哪些版本以及全局更改不会影响您的模块。
venv 蟒蛇 > 3.3
请注意,从 Python 3.3 开始,有一个名为 venv 的 VirtualEnv 内置实现(在某些安装上有一个名为 pyvenv 的包装器 - 该包装器是Python 3.6 中已弃用 https://docs.python.org/dev/whatsnew/3.6.html#id8),这可能应该优先使用。为了避免包装器可能出现的问题,通常最好直接使用它/path/to/python3 -m venv desired/env/path
或者你可以使用优秀的py
Windows 上的 python 选择器py -3 -m venv desired/env/path
。它将创建指定的目录desired/env/path
适当地配置和填充它。一般来说,它非常类似于使用 VirtualEnv。
附加工具
有许多工具值得一提和考虑,因为它们可以帮助使用上述一个或多个:
-
虚拟环境包装器 https://pypi.python.org/pypi/virtualenvwrapper管理并简化 VirtualEnv 的使用和管理 -跨平台.
-
pyenv-virtualenv https://github.com/yyuu/pyenv-virtualenv, 安装者pyenv 安装程序 https://github.com/yyuu/pyenv-installer,它提供了用于管理和连接 VirtualEnv 的 PyEnv 工具 - 有了它,您可以拥有一个包含多个版本的 python 的基本安装,并在每个版本中创建隔离的环境 -Linux/OS-X. 由约翰·维萨吉建议
-
py安装程序 http://www.pyinstaller.org/可以获取你的Python代码,可能是在VirtualEnv下开发和测试的,并将其捆绑起来,这样它就可以运行一个没有虚拟环境的平台你的版本python已安装 - 请注意,它不是交叉编译器,您将需要Windows(虚拟)机器来构建Windows安装等,但即使您可以确定将安装python但不能确定它也可以很方便python 和所有库的版本将与您的代码兼容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)