【问题标题】:run my python script easily on any other laptop [closed]在任何其他笔记本电脑上轻松运行我的 python 脚本[关闭]
【发布时间】:2021-12-22 13:35:12
【问题描述】:

我已经编写了一个脚本(大约 2k 行)来处理文本。

它从我的文本文件中读取输入,并将输出打印到另一个文件中。

但是,我希望它可以在任何其他笔记本电脑上运行(安装 Python)轻松。例如, 其他人无需安装其他库(我已在脚本中导入)即可运行它。

我怎样才能实现我的目标?通过将我的脚本打包到库中或我还能做什么?请提供任何提示。

我尝试使用 pyinstallerpy2exe,但我总是遇到超出递归限制的问题, 而且由于我有几个大型库要导入,所以我想我最终也可以制作一个 .exe 文件, 它会很大,所以我停止使用这种方式。有人对此有意见吗?

【问题讨论】:

  • 递归问题听起来像是代码中的错误。如果您的代码具有库依赖项,则没有安装这些依赖项就无法运行它。如果没有,请根本不包含这些库。
  • 我猜可能不是,因为我可以正确运行我的文件,但是当我在终端中使用pyinstaller或py2exe时,它会提醒递归问题。
  • 这能回答你的问题吗? Export Python script
  • 只需为您的项目编写 setup.py 脚本,然后运行 ​​pip install -e . - 我认为没有比这更容易的了
  • 最后的办法是将您的代码部署在像 heroku 这样的服务上,并分发一个脚本来与服务器交互。

标签: python nlp


【解决方案1】:

如果您确定每个客户端都安装了 Python 和 pip 并出现在 PATH 中,您可以在脚本开头使用 pip install 库。像这样的:

import subprocess
subprocess.run(['pip', 'install', '--user', 'your', 'libs'])
import your
import libs

这只是一个一般性的想法,可能有点老套,而且肯定需要额外的错误处理等工作。

【讨论】:

  • 谢谢,我正在尝试使用这种方式
  • 能否请您详细解释一下参数,例如“您的”是什么?这是否意味着我的代码?但如果是这样,我在我的代码中导入我的代码?谢谢!我对此很陌生。
  • yourlibs 只是占位符,将它们替换为您正在使用的库。我应该在我的回答中说得更清楚
  • 感谢@Expurple,如果我理解正确,我将代码所需的所有库放入 subprocess.run(['pip', 'install', '--user', 'lib1 ', 'lib2',, 'lib...' 'libn']),然后,这些库将在开始运行代码之前自动安装(当笔记本电脑没有安装这些库时)。我对么?再次感谢! ps:我在我的笔记本上试过了,看起来是这样,但我要在另一台笔记本上再试一次。
  • 是的,就是这样。如果子进程失败,我还将检查您的脚本的行为。例如,如果系统上没有安装 pip,或者没有互联网并且无法下载库。当然,无论如何,如果没有库,您的脚本将会失败,但也许您需要使错误消息更好或打印您的联系人以报告问题,idk。
猜你喜欢
  • 2017-04-22
  • 2011-01-18
  • 2013-07-02
  • 2020-09-27
  • 2022-08-18
  • 2023-01-21
  • 1970-01-01
  • 2017-01-15
  • 1970-01-01
相关资源
最近更新 更多