【发布时间】:2019-11-01 16:24:41
【问题描述】:
我试图查看这是否是重复的,但无法准确找到这个问题。我对这些东西也很无知。
我正在使用 Python 3.7.2(我的 Windows 10 计算机上的唯一 Python 版本)并使用 venv 创建了一个虚拟环境:
python -m venv /path/to/new/virtual/environment
我通过 pip install 添加了一些包,并通过 pip freeze 创建了一个 requirements.txt 文件。我使用虚拟环境中的包编写了一些代码。
我想与同事分享我的代码。我可以给他们代码和需求文件,但是 requirements.txt 没有指定我使用的 python 版本(3.7.2)。将这些信息传达给我的同事的适当机制是什么?是否可以修改 requirements.txt 文件以包含我使用 3.7.2 以及运行我的代码的任何人也应该使用 3.7.2 的事实?这个问题的答案是否取决于我或我的同事是否在我们的计算机上安装了多个版本的 python?
【问题讨论】:
-
您可以使用
setup.py来实现这一点。但总的来说,您应该使您的代码尽可能与不同的 Python 版本兼容。 -
@KlausD。有点不同意。 3.7 中有很多有趣的特性,我发现这些特性足以令人信服地打破向后兼容性。除非您想向许多客户发布库,否则我看不到太多目的。 @rhz 我发现tox 是解决这个问题的好工具。它处理指定 python 版本,为您创建虚拟环境以及更多出色的功能。这是一个很好的起点github.com/ferencberes/tox-example
-
另一个关于 tox 的说明,如果你想支持多个版本,你可以设置它,以便在你希望定位的所有主要/次要版本上自动运行测试。
标签: python pip virtualenv