Как включить внешние библиотеки в пакет в python, как это делает maven в java? - PullRequest
1 голос
/ 16 июня 2020

У меня есть проект python, который ссылается на paramiko и другие внешние библиотеки, цель состоит в том, чтобы упаковать таким образом, чтобы окончательный дистрибутив (zip / папка) содержал внешние библиотеки и код моего проекта в одном месте поэтому я могу разместить его на сервере, где нет внешнего rnet подключения.

Это должно быть примерно так:

final folder = (myproject + paraniko + python 3)

все в одном месте и с правильной настройкой пути к классам.

1 Ответ

0 голосов
/ 16 июня 2020

Попробуйте cx_freeze. Он автоматически упаковывает все необходимые файлы с исполняемым файлом в одну папку, поэтому вы можете заархивировать его и развернуть где угодно.

Если не удалось обнаружить библиотеки / пакеты, вы можете указать имя пакета с помощью build_options с помощью сценария установки.

Пример вывода (на windows):
enter image description here

Ниже приведен пример сценария установки cx_freeze, созданный выше. Дополнительные параметры см. manual .

setup.py:

from cx_Freeze import setup, Executable
import sys

version = "0.0.6"

build_options = {
    "packages": [],
    "excludes": [],
    "build_exe": "X:\\builds\\",
    "include_files": ["Sequence_Sample/", "icons/"],
}

base = "Win32GUI" if sys.platform == "win32" else None

executables = [Executable("MainUIController.py", base=base, targetName="pym")]

setup(
    name="Python Image Macro Project",
    version=version,
    description="Image Based macro project.",
    options={"build_exe": build_options},
    executables=executables,
)

В качестве альтернативы, ищите PyInstaller, если cx_freeze у вас не работает.

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