Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使Python项目可执行?_Python - Fatal编程技术网

如何使Python项目可执行?

如何使Python项目可执行?,python,Python,我有一个python项目,它从一个目录中接收一堆pdf文件,从中提取数据,然后将这些提取的数据与CSV文件中的一些数据进行匹配 整个工作有2-3个python脚本,用作模块,还使用了pdftotext、pandas、NumPy等依赖项 现在我可以pip冻结我的Conda env,它可以给我一个requirements.txt文件,其中包含所有要安装的软件包 但是,我希望这个主python脚本(调用其他模块并运行整个项目)由一个不太专业的人运行,他不从事pandas和其他类似python的工作 因

我有一个python项目,它从一个目录中接收一堆pdf文件,从中提取数据,然后将这些提取的数据与CSV文件中的一些数据进行匹配

整个工作有2-3个python脚本,用作模块,还使用了pdftotext、pandas、NumPy等依赖项

现在我可以pip冻结我的Conda env,它可以给我一个requirements.txt文件,其中包含所有要安装的软件包

但是,我希望这个主python脚本(调用其他模块并运行整个项目)由一个不太专业的人运行,他不从事pandas和其他类似python的工作

因此,有没有一种方法可以将整个项目作为一个可执行文件来封装所有依赖项、包、脚本,只要在终端中运行该可执行文件,就可以运行整个项目,而不用让其他人自己使用requirements.txt文件安装所有依赖项

不幸的是,我不能使用docker,因为现在我的工作不允许使用docker

我在想buck build如果这样行吗

或者如果有一个简单的方法


谢谢

一种方法是将Python应用程序目录打包为
.zip
文件并执行该文件。具有
\uuuu main\uuuu.py
入口点的Zip文件可以通过这种方式运行

在2.6及更高版本中,这可以很容易地完成。3.6中增加了额外的“zipapp”支持


主要的挑战与非纯Python库的兼容性有关。您压缩的内容需要与运行它的机器兼容。

您希望在哪个操作系统上执行程序?这是否回答了您的问题?您使用的是什么操作系统?目标操作系统是否相同?你有没有看过制作可执行文件的各种工具,比如PyInstaller?有没有看过PyInstaller或Nuitka.macos,或者如果在服务器上运行,那么是linux。但是有可能在任何操作系统上运行它吗?目标操作系统可能是macos(如果在笔记本电脑上运行)。或Linux(如果在服务器上运行)。和我一样。你能帮我扩大以上的范围吗?使用zipapp支持压缩是什么意思?这是一个帮助我压缩整个python项目的包吗?区别在于pdf文件的direcotry不会被修复。因此,最终用户通过cli将目录路径传递给pdf文件,python脚本通过argparser获取该路径,然后执行os.walk以刮取数据等。许多关于此的好文章,例如。试试看它是如何工作的。这是100%关于Python应用程序,0%关于您的输入文件-该应用程序可以处理您想要的任何输入,就像在非压缩应用程序中一样。