【问题标题】:How can we run one time scripts after installation in electron?在电子中安装后我们如何运行一次性脚本?
【发布时间】:2018-12-19 23:14:08
【问题描述】:

我需要从我的 Electron 应用程序运行 python 脚本。我必须设置一个 python 虚拟环境后安装。类似于以下内容(但希望与平台无关)。

cd /Applications/z.app/Contents/Resources/app.asar.unpacked
brew reinstall python
brew upgrade python
pip3 install --upgrade pip
pip3 install virtualenv
python3 -m venv env
source env/bin/activate
pip install -r requirements.txt

【问题讨论】:

  • 到目前为止你尝试过什么?请展示你的作品。
  • 另外,当您说“安装后”时,您是指每次应用运行时,还是在安装程序完成后一次。如果是后者,您不能在安装程序包中放置一个安装后任务吗?这与 Electron 完全无关。
  • 我已经完成了这里提到的stackoverflow.com/a/41209644/865220,现在我可以从/Applications/z.app/Contents/Resources/app.asar.unpacked/ 中的电子应用程序触发python 脚本,但既不能保证python 也不能保证存在适当版本的python 模块,那就是为什么我要在安装后设置virtualenv。如果您甚至可以建议其他方法,例如部署 docker、vagrant 等,我也可以采用这些方法
  • 只有一次,这应该发生在用户第一次尝试打开应用程序之前。很抱歉给您带来不便,我忽略了这些细节,认为在客户端上设置 python 环境很明显。

标签: python node.js python-3.x electron


【解决方案1】:

第一步:

我采用的方法是使用py2app 和一个电子应用程序创建一个 python 原生应用程序 但是,当我使用 anaconda 时,我也遇到了一些问题。 这有助于https://github.com/stuarteberg/helloworld

第二步:

2(a)

你会遇到pyqt not found错误

ImportError: 没有名为 PyQt4.QtGui 的模块

然后做

  1. conda install pyqt=4
  2. 重启终端

2(b)(可选)

以上repo在pyqt4,如果需要pyqt5:

要在 Mac 上安装 pyqt5,首先安装 macports(https://guide.macports.org/#installing.macports),然后执行

unset PYTHONPATH
brew install sip --with-python3
brew install pyqt --with-python3

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-29
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    • 2018-11-08
    • 1970-01-01
    • 2011-06-19
    相关资源
    最近更新 更多