如何在Windows上部署打包的python脚本?

vwhgwdsa  于 2023-03-04  发布在  Windows
关注(0)|答案(5)|浏览(169)

这听起来像是一个开放式的问题,但我是一个python爱好者,对于这个开发世界来说,这是相当新的。我开发了一个Python脚本,它接收输入,并根据我在脚本中放置的算法给出输出。我希望使用此脚本并将其打包,以便没有技术观念且只关心输入的最终用户可以使用它给予和产出。
我已经使用Jupyter Notebook开发了这段复杂的代码,我想知道如何打包或部署这段代码,以便最终用户可以使用它,而不必看到它是如何工作的,因为这可能会让他们不知所措。
有人能帮我的想法如何做到这一点吗?一些是开源的将是首选。

uoifb46i

uoifb46i1#

我想通过建议几种部署Python脚本或模型的方法来总结这个问题:

*Docker:这是在线托管脚本和部署机器学习模型的最流行方式之一。您可以使用Docker将代码容器化,并使用不同的应用将其作为微服务托管。
*PEXPEX是Twitter正在开发的一个聪明的工具,它允许Python代码以可执行zip文件的形式发布。
*AWS:使用AWS,你可以创建一个免费的账户,开始托管/部署。在线上有很多资源。
*PYSimple、Pyinstaller和Sparrow:正如上面的回答所提到的,我们也可以使用这些软件包来完成任务。请阅读上面的内容。
*培养瓶应用程序:如果你不想使用Docker,使用一个简单的 flask 应用程序,你将能够在线托管你的脚本。但是会有很多问题,因为它不是容器化的。最好使用Docker。
*py 2 exe:如果您希望将Python文件转换为Windows可执行文件,Click here
*cx_Freeze:与py 2 exe类似,您也可以使用它

我会继续添加更多的内容,因为我发现他们,但我认为最好的方法是使用Docker。希望这有帮助。

zrfyljdw

zrfyljdw2#

PyInstaller是一个强大的opensource工具,用于python项目的跨平台部署/分发。

  • 注意:虽然我没有使用PyInstaller分发Jupyter Notebook的经验,但使用这个guide似乎是可行的。

通过pypi安装:

pip install pyinstaller

没有控制台的代码分发可以简单到:

pyinstaller --noconsole script.py

然后你可以在你的工作目录的dist文件夹下找到你的.exe(窗口)。

jdgnovmf

jdgnovmf3#

为了完整起见,应该提到Spotify的dh-virtualenv,它允许将python代码打包为debian-package。
作为一个起点,可以使用这个博客:How We Deploy Python Code

pokxtpni

pokxtpni4#

假设您没有GUI,我将使用批处理(.bat)文件来使用提供的输入调用脚本。

your_script.bat:

set VAR_1=this
set VAR_2=that

python your_script.py %VAR_1% %VAR_2%

然后通过以下方式在python脚本中检索这些参数

sys.argv[1]  sys.argv[2]

对于最终用户来说,只需双击!
我希望你明白
[EDIT:sys.argv[0]是脚本的名称]

8wigbo56

8wigbo565#

使用Sparrow将脚本交付给最终用户,它也可以很好地与Python脚本一起工作。
基本上,您只需将需求声明为requirements.txt文件并将脚本命名为task.py,就可以将脚本中的输入参数处理为:

from sparrow6lib import *

    foo = config()['foo']
    bar = config()['bar']

然后将脚本上传到SparrowHub:

$ nano sparrow.json
{
    "name": "my-script",
    "version": "0.1.0",
    "description" : "this is my script",
}

$ ls -1
task.py
requirements.txt
sparrow.json

$ s6 --upload

最后,最终用户只需将您的脚本用作:

$ s6 --install my-script
$ s6 --plg-run my-script@foo=1,bar=2

我是工具的作者。如果你需要任何帮助来打包你的脚本,请告诉我。
PS2我已经改变了原来的答案,因为我最近移植麻雀到乐

相关问题