【发布时间】:2019-05-06 05:06:16
【问题描述】:
假设我有一个带有 requirements.txt 的项目 src 代码
我需要创建 virtualenv。但是如何知道我应该使用哪个 pytho 版本?如何在项目中存储python版本,以便其他人可以使用正确的python版本重新创建virtualenv?
【问题讨论】:
标签: python virtualenv
假设我有一个带有 requirements.txt 的项目 src 代码
我需要创建 virtualenv。但是如何知道我应该使用哪个 pytho 版本?如何在项目中存储python版本,以便其他人可以使用正确的python版本重新创建virtualenv?
【问题讨论】:
标签: python virtualenv
您可以在 setup.py 中设置 python 版本
setuptools.setup(
......
python_requires='>3.5.2'
......
)
更多信息: Python packaging
【讨论】:
这取决于您的构建系统以及您如何打包应用程序。
如果您将代码部署为 Docker 容器,Python 版本可能会编码在您的 Dockerfile 中(具体来说,您使用的基础映像及其关联的 Python 版本或您在创建你的 Docker 镜像)。
如果您正在生成一个自包含的可执行文件,该文件提取 Python 解释器以及源文件并自行执行,那么您在此过程中下载的特定 Python 解释器很可能是您将如何对其进行编码的方式(以及如何执行此操作可能取决于您的特定构建系统)。
如果您正在生成 Python 库,通常不会假定特定的 Python 版本(而是一系列受支持的版本),这是由安装它的环境决定的(并且不支持的 Python 版本)通常直接编码,但只是文档的一部分)。
【讨论】:
您可以使用Makefile
install:
ifndef VIRTUAL_ENV
virtualenv -p python3 .venv
endif
.venv/bin/pip install -r requirements.txt || ( \
virtualenv -p python3 .venv && \
.venv/bin/pip install -r requirements.txt \
)
【讨论】: