【问题标题】:How to know which python version to use in virtualenv? [duplicate]如何知道在 virtualenv 中使用哪个 python 版本? [复制]
【发布时间】:2019-05-06 05:06:16
【问题描述】:

假设我有一个带有 requirements.txt 的项目 src 代码

我需要创建 virtualenv。但是如何知道我应该使用哪个 pytho 版本?如何在项目中存储python版本,以便其他人可以使用正确的python版本重新创建virtualenv?

【问题讨论】:

标签: python virtualenv


【解决方案1】:

您可以在 setup.py 中设置 python 版本

   setuptools.setup(
       ......
       python_requires='>3.5.2'
       ......
   )

更多信息: Python packaging

【讨论】:

    【解决方案2】:

    这取决于您的构建系统以及您如何打包应用程序。

    如果您将代码部署为 Docker 容器,Python 版本可能会编码在您的 Dockerfile 中(具体来说,您使用的基础映像及其关联的 Python 版本或您在创建你的 Docker 镜像)。

    如果您正在生成一个自包含的可执行文件,该文件提取 Python 解释器以及源文件并自行执行,那么您在此过程中下载的特定 Python 解释器很可能是您将如何对其进行编码的方式(以及如何执行此操作可能取决于您的特定构建系统)。

    如果您正在生成 Python 库,通常不会假定特定的 Python 版本(而是一系列受支持的版本),这是由安装它的环境决定的(并且不支持的 Python 版本)通常直接编码,但只是文档的一部分)。

    【讨论】:

      【解决方案3】:

      您可以使用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 \
      )
      

      【讨论】:

        猜你喜欢
        • 2021-10-14
        • 2014-01-25
        • 2019-08-26
        • 2016-02-19
        • 2015-03-18
        • 1970-01-01
        • 2022-01-08
        • 2012-03-29
        • 1970-01-01
        相关资源
        最近更新 更多