Как другие системы распознают мою PYTHONPATH, поскольку она не предоставлена? - PullRequest
0 голосов
/ 03 июня 2019

Я кодирую бота.
В этом боте, глубоко в структуре каталогов программы, я должен выполнить импорт, которому нужен абсолютный путь пакета далеко в структуре каталогов. Таким образом, я не могу сделать импорт.

Мне удалось успешно импортировать его, экспортировав переменную PYTHONPATH в мой локальный файл ~ / .bashrc, содержащий абсолютный путь к моему пакету.

Затем я могу импортировать вещи в моей программе, например:

import absolute_path.module

Дело в том, что когда кто-то другой загружает файлы этой программы для использования или когда я загружаю ее на сервер, как эта другая сторона собирается управлять этим абсолютным импортом, который я сделал? (При условии, что импортируемый пакет идет вместе с файлами программы по тому же пути, по которому я выполняю импорт).
Они не установили переменную PYTHONPATH, поэтому у них будут проблемы?

Ответы [ 2 ]

0 голосов
/ 03 июня 2019

Превратите вашего бота в устанавливаемый пакет

0 голосов
/ 03 июня 2019

Это зависит.Является ли другой модуль чем-то стандартным (т.е. устанавливается через pip и т. Д.)?затем вы просто добавляете его в needs.txt вашего проекта, и пользователи должны иметь возможность выяснить это оттуда.

Если это то, что вы написали, тогда вы можете использовать что-то вроде PyInstaller для упаковки всех зависимостей вашего модуля (включая импорт и даже интерпретатор python), поэтому пользователям не нужно загружать ничего лишнего.

Другой вариант - поместить другой модуль смодуль вашего бота и распространять их вместе, и использовать относительные пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...