如何从python代码创建独立程序(在linux上)?

如何从python代码创建独立程序(在linux上)?,python,pyinstaller,Python,Pyinstaller,我的代码: 我已经编写了一小段代码,用于处理包含COVID19数据的HTML表,并将其转换为熊猫数据框架 然后将该数据帧保存为csv 我想制作一个可执行文件,这样任何人都可以下载该文件,如果他们运行该文件,COVID19数据将保存为该位置上的csv。他们不需要安装任何依赖项(甚至Python) 我只是想问一下这是否可行,如果可以,请告诉我怎么做。 我是一个完全的初学者。 使用Linux(Manjaro KDE) 编辑 我尝试了pyinstaller,并且能够创建一个大小为362MB的可执行文件,

我的代码: 我已经编写了一小段代码,用于处理包含COVID19数据的HTML表,并将其转换为熊猫数据框架

然后将该数据帧保存为csv

我想制作一个可执行文件,这样任何人都可以下载该文件,如果他们运行该文件,COVID19数据将保存为该位置上的csv。他们不需要安装任何依赖项(甚至Python)

我只是想问一下这是否可行,如果可以,请告诉我怎么做。 我是一个完全的初学者。 使用Linux(Manjaro KDE)

编辑

我尝试了pyinstaller,并且能够创建一个大小为362MB的可执行文件,但是出现了这个错误

Traceback (most recent call last): File 
"PyInstaller/loader/rthooks/pyi_rth_pkgres.py", line 13, in <module> 
File "/home/sharma/.local/lib/python3.7/site- 
packages/PyInstaller/loader/pyimod03_importers.py", line 623, in 
exec_module exec(bytecode, module.__dict__) File "site- 
packages/pkg_resources/__init__.py", line 86, in <module> 
ModuleNotFoundError: No module named 'pkg_resources.py2_warn' [74226] 
Failed to execute script pyi_rth_pkgres 
回溯(最近一次调用上次):文件
“PyInstaller/loader/rthooks/pyi_rth_pkgres.py”,第13行,in
文件“/home/sharma/.local/lib/python3.7/site-
packages/PyInstaller/loader/pyimod03_importers.py”,第623行,在
exec_模块exec(字节码,模块._指令)文件“站点-
packages/pkg_resources/__init__;.py”,第86行,in
ModuleNotFoundError:没有名为“pkg_resources.py2_warn”的模块[74226]
无法执行脚本pyi_rth_pkgres
运行此362 MB文件时出现此错误。

您可以尝试。它很容易用于简单的情况

pip install pyinstaller
然后对于单个文件可执行文件

pyinstaller covid_19.py --onefile
将在
\dist
目录中生成可执行文件


PyInstaller不是跨平台的,因此在Windows上,例如,它将创建一个
.exe
文件。如果你想让一个可执行文件在MacOS上运行,你需要在那个系统上编译。

对你有帮助吗?你做过什么研究吗?关于这个问题已经有很多信息了。这能回答你的问题吗@我想guidot py2exe只适用于Windows?我知道的不多。我尝试了pyinstaller,并且能够获得362MB的可执行文件,但仍然显示错误。对不起,我忘了提及我已经尝试过pyinstaller(在Manjaro KDE上)。它给了我递归深度错误,所以我在stackoverlow的某个地方读到,更改.spec文件中的递归限制可能会有所帮助。我试过了,当我运行命令pyinstaller--onefile covid_19.py时,它起作用了,但是
\dist
中只有一个文件夹,在这个文件夹中有太多的文件和文件夹,其中包含了所有模块名,比如pandas、numpy、matplotlib等等。我已经在我的系统上安装了anaconda。非常抱歉,在使用
--onefile
标志运行之前,我没有提到它。该标志应在
\dist
目录中生成一个
.exe
文件。听起来好像你在没有国旗的情况下运行它。在这种情况下,它将在
\dist
中生成一个与脚本同名的文件夹,在该文件夹中可以找到
.exe
以及许多其他内容。是否确实使用了
--onefile
标志(带两个破折号)运行。您也可以使用
pyinstaller covid_19.py-F
[我想这是针对Windows的。对于您的Linux安装,我不能说100%是这样]@谢谢您的帮助,我再试了一次,是的,最后我在
\dist
文件夹中找到了一个文件,但文件大小是362MB。它是预期的(请看我的代码),是不是太大了?
回溯(最后一次调用):文件“/home/sharma/.local/lib/python3.7/site packages/PyInstaller/loader/pyimod03\u importers.py”第623行,在exec\u模块exec(字节码,模块)文件中ModuleNotFoundError:没有名为“pkg_resources.py2_warn”的模块[74226]无法执行脚本pyi_rth_pkgres
运行此362 MB文件时出现此错误。请帮助。362 MB似乎非常大。在Windows上,当我获取您的代码并编译它时,它大约为30 MB,这似乎更正常。您使用的是什么版本的Python和PyInstaller?