yar*_*art 88 python packaging egg
我对Python中的egg文件有疑问.
我有很多由代码组织的Python代码,我正在尝试创建egg文件.我正在遵循指示,但它们很常见.
根据它,似乎我需要一个setup.py文件.
java -jar <jar file>呢?wis*_*sty 72
您正在阅读错误的文档.你想要这个:https://setuptools.readthedocs.io/en/latest/setuptools.html#develop-deploy-the-project-source-in-development-mode
创建setup.py覆盖Python的标准库文档中的distutils文档中的位置.主要的区别(对于蟒蛇蛋)是你import setup的setuptools,不是distutils.
是的.那应该是对的.
我不这么认为.pyc文件可以依赖于版本和平台.您也许能够打开鸡蛋(他们应该被zip文件),并删除.py的文件留下.pyc的文件,但它不会被推荐.
我不确定.那可能是"发展模式".或者你在寻找一些"py2exe"或"py2app"模式?
lam*_*cck 30
对于#4,使用应用程序的jar文件启动java的最接近的事情是Python 2.6中的新功能,可执行zip文件和目录.
python myapp.zip
Run Code Online (Sandbox Code Playgroud)
其中myapp.zip是包含__main__.py文件的zip,该文件作为要执行的脚本文件执行.您的包依赖项也可以包含在文件中:
__main__.py
mypackage/__init__.py
mypackage/someliblibfile.py
Run Code Online (Sandbox Code Playgroud)
你也可以执行一个鸡蛋,但咒语不是很好:
# Bourn Shell and derivatives (Linux/OSX/Unix)
PYTHONPATH=myapp.egg python -m myapp
Run Code Online (Sandbox Code Playgroud)
rem Windows
set PYTHONPATH=myapp.egg
python -m myapp
Run Code Online (Sandbox Code Playgroud)
这将myapp.egg放在Python路径上并使用-m参数来运行模块.你的myapp.egg可能看起来像:
myapp/__init__.py
myapp/somelibfile.py
Run Code Online (Sandbox Code Playgroud)
并且python将运行__init__.py(您应该__file__=='__main__'在应用程序中检查命令行使用).
egg文件只是zip文件,因此您可以__main__.py使用zip工具添加到egg中,并使其在python 2.6中可执行并运行它,python myapp.egg而不是设置PYTHONPATH环境变量的上述咒语.
有关可执行zip文件的更多信息,包括如何使用shebang直接执行它们,可以在Michael Foord关于该主题的博客文章中找到.
| 归档时间: |
|
| 查看次数: |
103229 次 |
| 最近记录: |