创建类似于javajar文件的Python可执行包

创建类似于javajar文件的Python可执行包,python,pip,setuptools,egg,Python,Pip,Setuptools,Egg,我在一个没有sudo和internet访问的环境中工作,因此拥有一个可以部署到任何地方的自包含应用程序包是非常有用的 使用Maven将我的java项目打包成可执行的jar文件,这在我的情况下非常有用 然而,我正试图用python实现同样的功能,可能会将所有必需的依赖项打包到一个zip/egg/wheel文件中,这样,只要安装了python二进制文件,就可以在任何环境中执行 我尝试过使用python setup.py bdist_egg,但这会创建一个没有顶层main.py和我正在使用的模块的eg

我在一个没有sudo和internet访问的环境中工作,因此拥有一个可以部署到任何地方的自包含应用程序包是非常有用的

使用Maven将我的java项目打包成可执行的jar文件,这在我的情况下非常有用

然而,我正试图用python实现同样的功能,可能会将所有必需的依赖项打包到一个zip/egg/wheel文件中,这样,只要安装了python二进制文件,就可以在任何环境中执行

我尝试过使用
python setup.py bdist_egg
,但这会创建一个没有顶层main.py和我正在使用的模块的egg文件


如果您在这种情况下有任何经验,我们将不胜感激

你看起来像什么?此外,对于编译,使用Go比使用python要好得多。@EPo谢谢!这看起来不错,但应用程序是使用我无法访问的共享Jenkins构建和部署的,因此如果我可以使用常用工具(例如python setup.py、zip、mvn等)构建它会更好。至于Go,团队还没有经过很好的培训来使用它。你可以将你的应用程序打包成鸡蛋或轮子,但这并不能解决依赖性问题。对此,我最好的答案是使用安装了所有设备的virtualenv压缩项目。但是,这是不可移植的,因为virtualenv依赖于系统。我投了赞成票,因为我自己不知道如何解决这个问题“
python setup.py bdist_-egg
”更现代的格式是wheel:
python setup.py bdist_-wheel
。“但是这会创建一个没有我的顶层_umain _uuu.py的egg文件”也许您创建了一个错误的
setup.py
。有关可执行文件,请参阅和