我在 Excel 中做一个应用程序,我想使用 python 语言。我见过一个很酷的库,叫做 xlwings,但是要运行它,用户需要安装 python。
是否有可能准备这种将在没有 Python 的 PC 上启动的应用程序?
欢迎任何建议!
不。您必须需要安装 python 并解释 python 函数等。
可以使用 xlloop。这是一种定制的客户端-服务器方法,其中客户端是必须安装在客户端机器上的 excel .xll。服务器可以用多种语言编写,包括python,当然它必须在安装了python的服务器上启动。目前 .xll 仅适用于 32 位。
一个小的解决方法是使用 cx_freeze 或 pyinstaller 打包您的应用程序。然后它可以在不安装python的机器上运行。缺点当然是该程序的大小往往有点笨重。
这可能不是您正在寻找的(即“没有 python”),但您可以将它作为 virtualenv .zip 文件夹发送,其中包含所有必要的包和相应的 python 安装在文件夹中......并且还包括文件夹内的 run.command bash 可执行文件,用户可以单击它来运行您的程序。您必须告诉用户(在 README.txt 或其他内容中)如何启用可执行文件......对于一个特定的应用程序,我的看起来像......
请在安装 MyApplication.zip 后完成以下步骤: 第 1 步:将 MyApplication 文件夹移动到您的桌面。 第 2 步:在 Go 中打开终端,然后打开应用程序,然后打开实用程序。 第 3 步:在终端中,粘贴 cd ~/Desktop/MyApplication 然后按 Enter。 第 4 步:然后,粘贴 chmod +x run.command 然后按 Enter。 从现在开始,单击 MyApplication 中的“运行”文件将运行该应用程序。 如果单击“运行”文件仍然不起作用,请执行... 在弹出窗口中单击确定,然后打开系统偏好设置,然后单击安全和隐私 然后单击仍然打开按钮,然后单击弹出窗口上的打开按钮。 注意:请不要移动或删除 MyApplication 文件夹或其任何文件。
然后我的 run.command 可执行文件如下所示:
cd ~/Desktop/MyApplication
PATH=$PATH:$HOME/Desktop/MyApplication/lib/python2.7/site-packages:$HOME/Desktop/MyApplication/lib/python2.7/site-packages/aeosa:$HOME/Desktop/MyApplication/lib/python2.7/lib-dynload:$HOME/Desktop/MyApplication/lib/python2.7/lib-old:$HOME/Desktop/MyApplication/lib/python2.7/lib-tk:$HOME/Desktop/MyApplication/Extras/lib/python:$HOME/Desktop/MyApplication/lib/python2.7/plat-mac/lib-scriptpackages:$HOME/Desktop/MyApplication/lib/python2.7/plat-mac:$HOME/Desktop/MyApplication/lib/python2.7/plat-darwin:$HOME/Desktop/MyApplication/lib/python2.7:$HOME/Desktop/MyApplication/lib/python27.zip
source bin/activate
python main.py
这里有三件事很重要:
1) 在 run.command 中,我首先将目录更改为我为这个项目创建的 virtualenv。我不想在这里保持动态,因为这只是对解决方案的快速破解,所以作为 README.txt 的一部分,我只是告诉用户将他们下载的文件夹放到他们的桌面上。否则,cd 命令将不起作用。
2) 我设置客户端的 PATH 变量,用冒号分隔条目。您可以使用计算机上的快速检查来查看所需路径的列表...
import sys
for path in sys.path:
print path
3)然后我调用 source bin/activate 来激活 virtualenv。
4) 然后我执行我的 main.py 文件,它位于我的 virtualenv 的顶层,以及 run.command。
5) 我只为 Mac OS X 编写了这个 bash 文件,所以我不知道它将如何转换为 Windows PC。我认为唯一会改变的是路径文字需要使用反斜杠而不是正斜杠,但同样,我还没有为 Windows 这样做,所以我不确定。
在此处阅读有关设置 virtualenv 的更多信息: https
://virtualenv.readthedocs.org/en/latest/index.html
最后,请注意,您将无法通过大多数电子邮件服务发送最终的工作 .zip 文件夹,因为它们往往会阻止人们来回发送可执行文件,因此您必须使用 Dropbox 之类的服务将其发送给人们。