如何在不安装Python的情况下让别人运行你的Python程序

问题描述 投票:0回答:5

我用 Python 编写了第二个程序。这是一个计算二次方程根的程序。我觉得这很酷,我想让我的朋友使用它,而不必让他们安装 python。

我从朋友那里听说了 Pyinstaller,我尝试了这个方法:首先我在 cmd 中输入

pip install pyinstaller
。然后我将目录更改为包含我要与朋友共享的文件的文件夹(称为
vkv.py
)。然后我输入了这个命令:
pyinstaller vkv.py
但是我得到了这个错误:
Indexerror: tuple index out of range
。显然问题是我有 Python 3.6.0,而 Pyinstaller 仅适用于 Python 3.5 之前的版本。

所以我不得不尝试另一种方法。昨天,我尝试了 cx_Freeze 和其他一些我忘记的方法,但都失败了。由于我使用的是 Python 3.6.0(与 Pyinstaller 相同),Cx_Freeze 失败,并且我不记得其他方法出了什么问题。

我的朋友(他告诉我 Pyinstaller)告诉我使用 virtualenv,所以我查找了有关此事的教程。看起来我需要创建一个使用 Python 3.5 的虚拟环境。这些是我在 cmd 中输入的命令:

  1. pip install virtualenv
  2. mkdir Environments
  3. cd environments
  4. virtualenv -p C:\Users\hp\AppData\Local\Programs\Python\Python35\python.exe py35_env
  5. (在输入此命令之前,我安装了Python 3.5.0)
  6. C:\Users\hp\Environments\py35_env\Scripts\activate
现在环境已经做好并激活了,我在这个环境中安装了Pyinstaller,
pip install pyinstaller
。然后我将目录更改为:
C:\Users\hp\Desktop\Code\Python testing
(这是 vkv.py 文件所在的位置)。然后我输入:
pyinstaller vkv.py
,但现在我得到了一大堆行,最后一行有错误:
ImportError: DLL load failed: %1 is not a valid Win32 application.
。这是它的截图:ImportError

作为一个好奇的人,我想知道如果我打开另一个 cmd 窗口并在没有环境的情况下再次尝试 Pyinstaller 会发生什么(所以我基本上再次尝试了上面列出的第一种方法)。奇怪的是我得到了相同的“ImportError”而不是之前的“IndexError”。

所以现在我的问题是(从重要到不重要排列):

  1. 如何让我的朋友无需安装 Python 即可运行 Python 文件?
  2. 这个导入错误是什么意思以及如何修复它?
  3. 我上次在环境之外的 cmd 中尝试
    pyinstaller vkv.py
    时发生了什么?为什么它给我一个 ImportError 而不是 IndexError,这是我第一次尝试运行此命令时得到的?

很抱歉这篇文章很长,但我喜欢提供很多信息,因为我担心我可能会遗漏一些重要的东西。

预先感谢您的任何帮助!

python windows python-3.x virtualenv pyinstaller
5个回答
2
投票

由于您想使用Python 3.6,因此您不能使用Pyinstaller、py2exe、cx_Freeze 或其他。不过,有一个名为 Transcrypt 的工具,它与 Python 3.6 兼容。它可以通过 pip:

pip install transcrypt
安装,并将 Python 代码转换为 JavaScript。要使用它,请打开控制台并输入
transcrypt vkv.py

它会自动生成一个文件夹,

__javascript__
,以及其中的文件。转录结束后,您就可以将其与 html 一起使用了。

(假设.html与.py和文件夹位于同一目录中)

<html>
<head>
    <title>Example</title>
</head>
<body>
    <script src="./__javascript__/vkv.min.js"></script>
</body>
</html>

您可以通过使用浏览器运行该 html 将其用作可执行文件(取决于您的程序,这里是文档)。


0
投票

尝试从 python.org 删除 3.6 并安装 3.5.3。

使用 Pyinstaller 重试。


0
投票

尝试使用 py2exe,它是一个 python 模块。 它非常简单,您需要做的就是:

下载并安装它http://sourceforge.net/projects/py2exe/files/

创建你的setup.py

运行你的setup.py

这里有一个网站将更详细地解释它http://inventwithpython.com/appendixc.html


0
投票

我可以在 Python 3.6 环境中使用 pyinstaller。您需要下载 Development Release(不稳定)的 zip 文件,并且不要使用 pip,而是从下载的 pyinstaller 代码运行 setup.py 文件。


0
投票

pip 安装 pyinstaller pyinstaller --onefile vkv.py

导入时间 随机导入

消息 = [ " 德西塞巴德 德萨德德 巴德德...", “更多,更多,更多,更多……”, “更多,更多,更多,更多……”, "更多,更多,更多,更多...", "更多信息...", "更多信息...", "更多信息...", “更多,更多,更多,更多……” ]

对于范围(10)内的 i:

message = random.choice(messages)

print(f"\033[91m{message}\033[0m")

time.sleep(random.randint(1, 3))

print(" [91m 打印时间。打印时间 1000 小时: [0m") print(" [91mIBAN: IR860170000000123456789012 [0m")

© www.soinside.com 2019 - 2024. All rights reserved.