Поддержка python2 и python3 с использованием нескольких Pipfiles

Однако до сих пор мне нравится pipenv, и мне интересно использовать его для поддержки как python2.7, так и python3.7.

Я пишу пакет python, который хочу распространять через внутренний репозиторий pypi, и я хотел бы поддерживать как python2.7, так и python3.7 (до сих пор я разрабатывал против python2.7). Учитывая, что я должен указать версию Python в Pipfile, я делаю логический вывод, что мне нужно несколько Pipfiles.

Я думаю, что я буду структурировать свой проект следующим образом:

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

Есть какие-нибудь мысли по этому поводу? Это то, что другие сделали бы?

Предполагая, что я собираюсь это сделать, мне нужно будет указать, какой Pipfile использовать при запуске тестов и сборке пакета. В соответствии с https://pipenv.kennethreitz.org/en/latest/advanced/#configuration-with-environment-variables я могу использовать env var PIPENV_PIPFILE, чтобы указать местоположение Pipfile. Это нормально, я просто удивлен, что нет возможности указать местоположение Pipfile в командной строке (например, pipenv --pipfile-location). Стоит ли мне запрашивать такую ​​функцию?

Любые комментарии к вышеизложенному приветствуются.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
355
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Хммм... Я переосмыслил после прочтения:

The inclusion of [requires] python_version = "3.6" specifies that your application requires this version of Python, and will be used automatically when running pipenv install against this Pipfile in the future (e.g. on other machines). If this is not true, feel free to simply remove this section.

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

Теперь у меня есть только один Pipfile. Я создаю свой код в контейнерах докеров, поэтому я выбираю образ с правильной версией python (https://hub.docker.com/_/python?tab=tags) по мере необходимости.

Также:

Do not keep Pipfile.lock in version control if multiple versions of Python are being targeted.

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

Другие вопросы по теме