У меня есть проект на машине за брандмауэром с установленным PyCharm, и я пытаюсь придать ему некоторую структуру. Поэтому я пытаюсь создать какой-то служебный модуль, который хочу редактировать/разрабатывать при реструктуризации проекта. Мне бы хотелось, чтобы эти утилиты были доступны глобально на компьютере (Windows), потому что кто-то создал множество проектов PyCharm, в которых есть перекрестные ссылки и импорт с использованием
Код: Выделить всё
import sys
import os
sys.path.insert(1, os.path.expanduser("path2otherProjectDirectory`))
from otherProjectDirectory import foo
Как мне создать пакет или ссылку в «site-packages», чтобы я мог использовать свои утилиты глобально на компьютере (желательно вручную, без использования pip)?Сначала я попытался создать пакет с помощью setup.py и установить его через pip.
Я понял, что setup.py несколько устарел (и это сама по себе длинная история), и я не уверен, что создание колеса работает для редактируемых пакетов. Также pip пытается построить зависимости, используя источники в Интернете. Дело в том, что машина находится за брандмауэром. Я могу устанавливать пакеты через PyCharm, потому что прокси-сервер настроен, но я не могу ничего получить, используя тот же прокси-сервер:
Код: Выделить всё
pip install -e /path/to/download/dir/ --proxy 10.1.2.3:1234
Я также пробовал использовать:
Код: Выделить всё
pip install -e --no-index --find-links /path/to/utils/
pip install -e /path/to/utils/ --no-index
но пакет «игнорируется», или я получаю такие ошибки (часть истории, о которой я упоминал ранее):
Код: Выделить всё
ERROR: Could not find version that satisfies the requirement setuptools>=40.8.0 (frim version: none)
ERROR: No matching distribution found for setuptools>=40.8.0
Я всегда думал, что setuptools включен в установку Python. Мне пришлось установить его с помощью Pycharm, но это, похоже, тоже не помогло (возникают те же проблемы). Так что теперь я отказываюсь от pip. Я имею в виду, что вы можете просто поместить пакет в «site-packages», и он будет нормально загружаться, но его нельзя будет редактировать, верно? Что делает pip при использовании «-e» / «--editable»? Есть ли способ сделать это вручную?
Я также пробовал установить пакет как редактируемый с несколькими пакетами с одним и тем же модулем верхнего уровня, что нарушает импорт.
Я использую Windows 10, Python 3.13 и инструменты настройки 75.4.0.
Подробнее здесь:
https://stackoverflow.com/questions/791 ... ne-offline