Обычно, когда я разрабатываю пакет Python для личного использования, я использую python3 setup.py develop
, а затем выполняю pip3 install -e <path_to_package>
в рамках другого virtualenv, что позволяет мне одновременно работать с обоими. Когда я делаю gpip3 freeze
, я вижу путь к пакету на моей локальной машине:
-e /Users/myName/Documents/testpackage
Когда я сохраняю этот пакет на GitHub и клонирую его обратно на локальную машину, я ожидаю, что смогу использоватьsetup.py develop
и продолжайте разработку пакета на моей локальной машине, независимо от того, когда я вернусь в GitHub. Однако, когда я делаю gpip3 freeze
, я вижу:
-e git+git@github.com:github_username/repo_name@-----latest_commit's_sha_code-----#egg=repo_name&subdirectory=xx/xx/testpackage
Я бы хотел, чтобы моя система отслеживала локальную версию, а не удаленную для git.
Примечание: я знаю, какпередайте и внесите локальные изменения в GitHub и установите яйцо в локальной среде. Моя цель - быстро протестировать идеи с помощью версии пакета для разработки без непрерывной интеграции.
Примечание 2. Сбой адреса GitHub, указанного в gpip3 freeze
, при попытке его выполнить в среде (FileNotFoundError: [Errno 2] No such file or directory: '/Users/myName/Documents/testenvironment/src/testpackage/setup.py'
)
Но если бы я хотел, чтобы pip3 установил последний коммит GitHub, я бы не стал беспокоиться о setup.py develop
в любом случае.
Есть ли способ сообщить в setup.py, что я хочу, чтобы он игнорировал пульт в клонированном репо и обращал внимание только на локальный путь? Или всегда ссылается на пульт, когда присутствует ожидаемое поведение инструментов настройки?
обновление: формулировка вывода в gpip3 freeze
после python3 setup.py develop
, когда пульт отсутствует (ниже), заставляет меня задуматьсячто отслеживание пульта дистанционного управления, когда это возможно, может быть предполагаемым поведением:
# Editable Git install with no remote (testpackage ==0.0.1)
-e /Users/myName/Documents/testpackage
Я работал над этим git remote remove origin
, когда я хочу, чтобы мои локальные изменения отражались в локальных средах, не нажимая новый коммит, хотядля меня.