Как включить сторонние модули в мои скрипты на python? - PullRequest
4 голосов
/ 01 сентября 2011

Я начал использовать Python для автоматизации повторяющихся задач, которые у меня есть на работе, и мне часто приходится интегрировать ссылки на сторонние модули в мои скрипты. Как я могу напрямую включить эти файлы в мои скрипты? Я знаю, что есть способы установить библиотеки централизованно в моей папке установки Python (C: \ Python27). Многие сторонние модули предоставляют установщик EXE, который сделает это автоматически. Однако меня беспокоит, как это повлияет на переносимость моих скриптов. Например, если я отправляю свой сценарий кому-то другому, мне также не нужно отправлять им список всех отдельных модулей, которые им нужны для загрузки и установки.


Обновление

У меня гораздо больше опыта работы с проектом C # в Visual Studio. В проекте Visual Studio, если я хочу использовать стороннюю DLL, я просто включаю эту DLL в свое решение в папку Lib и ссылаюсь на эту DLL из моего проекта. Я не беспокоюсь о загрузке этой библиотеки в GAC, что для меня похоже на .NET-эквивалент установки пакета python.

Разве я не могу просто включить сторонние библиотеки в папку моего проекта и ссылаться на них, используя относительный путь? Скажем, у меня была следующая файловая структура.

\My Script.py
\lib\3rdPartyLib\3rdPartyLib.py

Могу ли я импортировать 3rdPartyLib из MyScript.py?

import 3rdPartyLib from \lib\3rdPartyLib\  ??????

Почему бы мне не захотеть сделать это?

Ответы [ 2 ]

1 голос
/ 01 сентября 2011

Обновление:

Да, вы можете копировать сторонние модули в папку вашего приложения. Хотя использование папки site-packages позволяет централизованно обновлять данные для каждого компьютера, если вы редко меняете библиотеки, вам будет проще просто включить их в папку приложения, как вы описали.

Если возможно, размещение папок приложений на сетевом диске упростит обновления по всей сети.


Вы захотите использовать py2exe или pyinstaller .

Он создаст папку, полную зависимостей и Windows .exe. Вы можете включить значки и другие метаданные. Оберните его в бесплатный инсталлятор, такой как innoSetup , и у вас в руках будет профессиональное приложение.

0 голосов
/ 01 сентября 2011

Ну, вы можете использовать py2exe или pyinstaller или можете ссылаться на свои модули при запуске сценариев, упакуйте их в архив и перенесите вашу программу на разные ОС!Но как много хе-хе, я вижу, вы используете только окна!Что заставляет задуматься о переносимости в вашей спине мысль ...

...