Comments 14
Прекрасная статья, спасибо за полезную информацию!
И отдельное спасибо за то, что пользуетесь Питоном 3 на продакшне, ускоряя прогресс :-)
И отдельное спасибо за то, что пользуетесь Питоном 3 на продакшне, ускоряя прогресс :-)
+5
Вы изобрели setuptools и eggs, поздравляю :)
+4
setuptools — это все-таки инструмент инсталляции новых модулей в питон.
В этой статье просто хотелось рассказать, что сами модули, уже будучи установленными, могут находиться в zip-архивах.
В этой статье просто хотелось рассказать, что сами модули, уже будучи установленными, могут находиться в zip-архивах.
0
Это не совсем правда. Setuptools — это в первую очередь не инсталляция модулей, а их сборка в яйца. И, да, каждое такое яйцо (оно собственно и является zip-архивом с метаданными) можно добавить в PYTHONPATH/sys.path и использовать. А можно ещё воспользоваться pkg_resources.Distribution и подключать в рантайме нужные яйца с нужными библиотеками, но это вам уже вряд ли нужно.
0
Позволю себе небольшое уточнение.
zip-модули в питон мы не изобретали, они были изобретены самими разработчиками языка.
Здесь просто рассказано как их создавать, и какие при этом могут возникнуть сложности
zip-модули в питон мы не изобретали, они были изобретены самими разработчиками языка.
Здесь просто рассказано как их создавать, и какие при этом могут возникнуть сложности
0
Я собственно о том же :) Мне кажется, что надо всё-таки логично и правильно в большинстве случаев делать это при помощи специально предназначенных инструментов. Я представляю себе ситуации, когда это может быть нужно делать руками (мне как раз это приходится делать), но, кажется, в вашем случае это не так.
0
Да, в нашем случае действительно все несколько иначе.
Мы собираем zip-модули по описанной в статье схеме и складываем их в site-packages.
плюс у нас настроен авто-импорт (расширение sys.path) для всех zip-файлов лежащих в site-packages.
Поскольку мы рассматриваем нашу сборку питона как embedded-solution, которая прозрачно сосуществует (никак не конфликтуя и не пересекаясь) с любой другой официальной инсталляцией питона, мы можем себе такое позволить.
Мы собираем zip-модули по описанной в статье схеме и складываем их в site-packages.
плюс у нас настроен авто-импорт (расширение sys.path) для всех zip-файлов лежащих в site-packages.
Поскольку мы рассматриваем нашу сборку питона как embedded-solution, которая прозрачно сосуществует (никак не конфликтуя и не пересекаясь) с любой другой официальной инсталляцией питона, мы можем себе такое позволить.
0
Если вы собираете свой собственный Питон — выложите символы к нему, пожалуйста, как это делается для официальных сборок. Они, бывает, пригождаются.
0
С компилированием какой-то стрёмный велосипед получился. Есть же модули py_compile и compileall.
0
Если бы указанные вами модули обеспечивали необходимый фукционал по созданию модулей, упаковнных в zip-файл,
мы бы непременно ими воспользовались. Так или иначе, код модуля py_comile дейстивительно послужил прототипом для представленной здесь утилиты mkpyzip.
мы бы непременно ими воспользовались. Так или иначе, код модуля py_comile дейстивительно послужил прототипом для представленной здесь утилиты mkpyzip.
0
Sign up to leave a comment.
Создание zip-модулей в python