使用多个Pipfile支持python2和python3

时间:2019-05-05 13:53:07

标签: pipenv

到目前为止,爱上Pipenv还是想知道是否同时使用它来支持python2.7和python3.7。

我正在编写一个python软件包,该软件包要通过内部pypi存储库分发,并且我想同时支持python2.7和python3.7(到目前为止,我已经针对python2.7开发了)。鉴于我必须在Pipfile中指定python版本,因此得出的逻辑结论是我需要多个Pipfile。

我想我应该像这样构造我的项目:

root  
|  
|-python2.7  
|    |-Pipfile  
|-python3.7  
|    |-Pipfile  

到目前为止,对此有何想法?那是别人会做的吗?

假设要执行此操作,则需要指定在运行测试和构建程序包时要使用的Pipfile。根据{{​​3}},我可以使用env var PIPENV_PIPFILE来指定Pipfile位置。很好,我很惊讶没有在命令行上指定Pipfile位置的选项(例如pipenv --pipfile-location)。我要求这样的功能值得吗?

欢迎对上述内容发表任何评论。

1 个答案:

答案 0 :(得分:0)

嗯...阅读后我重新思考:

  

包含[requires] python_version =“ 3.6”表示您的应用程序需要此版本的Python,并且将来在此Pipfile上运行pipenv install时(例如在其他计算机上)会自动使用。如果不是这样,请随意删除此部分。

https://pipenv.readthedocs.io/en/latest/basics/#specifying-versions-of-python

我现在只有一个Pipfile。我将代码构建在Docker容器中,因此我会根据需要选择具有正确版本的python(https://hub.docker.com/_/python?tab=tags)的图像

也:

  

如果要定位多个Python版本,请不要将Pipfile.lock保留在版本控制中。

https://pipenv.readthedocs.io/en/latest/basics/#general-recommendations-version-control