По умолчанию используйте другой каталог site-packages для установки.
Я встроил Python в приложение. Когда пользователь устанавливает пакет или модуль через
{...}\myapp\python\python.exe setup.py install
пакеты будут установлены в
{...}\myapp\python\lib\site-packages
Есть ли шанс использовать другой каталог по умолчанию?
3 ответа
Есть несколько вещей, о которых вам нужно позаботиться, чтобы сделать это. Я провел некоторое исследование, и вот что я узнал:
Эта часть взята из документации Python:
После запуска команды build (независимо от того, выполняете ли вы ее явно или команда install делает это за вас), работа команды install относительно проста: все, что нужно сделать, это скопировать все в build / lib (или build / lib). plat) в выбранный вами каталог установки.
Если вы не выберете установочный каталог, т. Е. Просто запустите setup.py install, то команда install установится в стандартное расположение сторонних модулей Python. Это расположение зависит от платформы и способа сборки / установки самого Python.
Большинство дистрибутивов Linux включают в себя Python как стандартную часть системы, поэтому префикс и exec-prefix, как правило, оба / usr в Linux. Если вы собираете Python самостоятельно в Linux (или в любой Unix-подобной системе), префикс по умолчанию и префикс exec - это / usr / local.
prefix
а также exec-prefix
обозначают каталоги, в которые установлен Python, и где он находит свои библиотеки во время выполнения.
У вас есть способ чередовать место установки до определенного момента: вы можете чередовать базовый каталог, но не схему установки
Команда установки Distutils предназначена для простой и безболезненной установки дистрибутивов модулей в другое место. Основная идея заключается в том, что вы предоставляете базовый каталог для установки, а команда install выбирает набор каталогов (называемый схемой установки) в этом базовом каталоге, в который нужно установить файлы. Детали различаются для разных платформ, поэтому прочитайте, какой из следующих разделов относится к вам.
Идея "домашней схемы" заключается в том, что вы создаете и поддерживаете личный запас модулей Python. Название этой схемы происходит от идеи "домашнего" каталога в Unix, поскольку для пользователя Unix весьма характерно, чтобы его домашний каталог имел макет, похожий на / usr / или / usr / local /. Эта схема может использоваться кем угодно, независимо от операционной системы, для которой они устанавливаются.
python setup.py install --home=<dir>
--home
Опция определяет базовый каталог установки. Файлы устанавливаются в следующие каталоги под установочной базы следующим образом:
modules home/lib/python
scripts home/bin
data home
C headers home/include/python/distname
Затем вам нужно изменить путь поиска Python, чтобы найти новое местоположение.
Вы также можете использовать параметр --prefix, который определяет базу установкиpython setup.py install --prefix=
, Подробнее об этом здесь
Подводя итог, вы можете изменить домашний каталог, но в нем будет построена иерархия пакетов сайта. Надеюсь это поможет.
Чтобы добавить новый каталог site-packages, добавьте этот новый путь к файлу конфигурации пути.
Файл конфигурации пути позволит вам добавить дополнительный каталог site-packages. Если вам не нужен существующий каталог site-packages, вы можете удалить его из PYTHON_PATH.
echo "new_site-package_directory"> your_site_packages_path / usrlocal.pth
Я надеюсь, что это поможет вам Установка пользовательского модуля Python