好的,所以我在编程方面是一个完整的菜鸟,我正在尝试编写一个我编写的简单程序,它接受一个字符串并打印出莫尔斯代码中的字符串,它被称为morse.py。我使用
安装了pyinstaller pip install pyinstaller
我正在尝试使用pyinstaller编译我的程序。
现在我已经搜索了一下,它说我需要编写pyinstaller morse.py,但我真的不知道在哪里写。我尝试移动到我的程序目录并在CMD中执行此操作,但它不起作用。我尝试在同一目录中创建一个python程序,并且这样做也没有用。我找不到任何有用的信息告诉我如何编译文件。
有人可以帮忙吗?
答案 0 :(得分:13)
我建议先阅读模块本身的 Using Pyinstaller section in the documentation 。
您还可以使用一些教程(例如Matt Borgerson's one)。
为了回顾一下你应该:
从命令行:
运行〜\ pyinstaller your_file_name .py
此命令将生成 your_file_name .spec文件,您可以在其中包含应用程序所需的所有dll以及任何自定义设置(Using Spec Files)
一旦确定了要在.exe应用程序中包含的内容,就可以从命令行运行
〜\ pyinstaller [ option1 ] [ option2 ] your_file_name .py
您可以在文档中找到options的完整列表。一个例子可能是 pyinstaller.exe --onefile --windowed --icon = app.ico app.py 其中:
您也可以使用 py2exe 轻松创建您的exe文件。
答案 1 :(得分:2)
尝试编写pyinstaller的完整路径(例如= C:\ Users \ user \ AppData \ Local \ Programs \ Python \ Python35-32 \ Scripts \ pyinstaller.exe)
完整的cmd字符串必须如下所示:
$(document).on('click', '#up, #down, #up5, #down5', function() {
button_choice = $(this).attr('id');
$('.ch:checked').each(function() {
row = $(this).closest("tr");
row.css('background', 'hotpink');
checked_length = $('.ch:checked').length;
if(button_choice == 'up') {
if(row.index() > 1) {
row.insertBefore(row.prev())
}
}
if(button_choice == 'down') {
for(i=0;i<checked_length;i++) { row.insertAfter(row.next()) }
}
if(button_choice == 'up5') {
for(i=0;i<checked_length+3;i++) { if(row.index() > 1) { row.insertBefore(row.prev()) } }
}
if(button_choice == 'down5') {
for(i=0;i<checked_length+4;i++) { row.insertAfter(row.next()) }
}
})
})
答案 2 :(得分:0)
你好,我用python编写了代码,我用它把自己变成了exe。
请确保将其与要转换的文件放在同一目录中。
import subprocess
import shutil
import os
cmd = input("file name: ") # asks user for filename
extra = input("extra commands? eg -w -F if using two or more put a space between: ") # asks for extra options
suros = "pyinstaller "+ extra + " " + cmd + ".py" # sets run command
current_workin_path = os.getcwd() # gets current working path
dirt = current_workin_path + "/"+ cmd # set current working path for folder creation
os.mkdir(dirt) # creates folder for working path and for a copy
shutil.copy(cmd + ".py", current_workin_path + "/" + cmd + "/" + cmd + ".py") # creats copy of python file in the newly set path
os.chdir(current_workin_path + "/" + cmd + "/") # changes current working path to newly created one
subprocess.run(suros) # runs the command set eariler
os.remove(cmd + ".py") # delete the copy of python file
希望这对某人有帮助。
答案 3 :(得分:0)
我对Python没有太多经验。我能够编写简单但有用的脚本。我能够使用pyinstaller将它们转换为.exe。但是,我编写的程序越多,我拥有的python版本(以及软件包和虚拟环境)就越多。一开始的工作突然停止了工作,使我非常困惑。但是我从一页跳到另一页。我的帖子是帮助其他新手。我使用的是Windows,但某些规则可能与其他系统相同。 我要在2020年3月编写它。Pyinstaller不能在最新的python版本3.8下正常工作。因此,首先您需要安装Python 3.7。其次,根据您的系统类型选择版本。可以是32或64。 您可以安装多个Python版本。在命令行中,当您输入“ py”时,计算机将查找最新的Python版本-我的意思是版本号最高的版本。这是因为文件C:\ Windows \ py.exe在您安装第一个Python时出现。如果今天您仅安装了python 3.7,则“ py”将运行python 3.7。但是第二天,当您安装Python 3.8并键入“ py”时,它将运行Python 3.8。如果要使用较旧的版本,只需键入py -3.7
C:\Users\Ania>py
Python 3.8.2(tags / v3.8.2:7b3ab59,2020年2月25日,23:03:10)[MSC v.1916 64位(AM
D64)]在win32上
输入“帮助”,“版权”,“信用”或“许可证”以获取更多信息。
C:\Users\Ania>py -3.7
Python 3.7.7(标签/v3.7.7:d7c567b08f,2020年3月10日,10:41:24)[MSC v.1900 64位 (AMD64)]在win32上 输入“帮助”,“版权”,“信用”或“许可证”以获取更多信息。
现在要使用您的项目,您需要为其创建一个虚拟环境。记住要使用正确的python版本。首先,为它创建一个文件夹。
D:\PYTHON>mkdir my_new_great_project
转到该文件夹:
D:\PYTHON>cd my_new_great_project
创建venv:
D:\PYTHON\my_new_great_project>py -3.7 -m venv venv
上面的第一个“ venv”是我们正在使用的python模块的名称。第二个“ venv”是我们正在创建的虚拟环境的名称。
激活venv:
D:\PYTHON\my_new_great_project>venv\Scripts\activate.bat
您应该看到:
(venv) D:\PYTHON\my_new_great_project>
现在,您可以使用pip安装项目需要的任何外部软件包。
(venv) D:\PYTHON\my_new_great_project>pip install pandas
提示“知道”您需要python 3.7的软件包。 创建项目文件时,请勿将其放在“ venv”文件夹中。
要通过venv运行项目,只需输入其名称
(venv) D:\PYTHON\my_new_great_project>great_project.py
如果您已完成项目,则一切正常,并且需要.exe文件,是时候在venv中安装pyinstaller了。
(venv) D:\PYTHON\my_new_great_project>pip install pyinstaller
要检查您已经安装了哪些外部软件包,只需键入“点列表”:
(venv) D:\PYTHON\my_new_great_project>pip list
打包版本
高度图0.17 未来0.18.2 numpy的1.18.2 熊猫1.0.3 pefile 2019.4.18 点19.2.3 PyInstaller 3.6 python-dateutil 2.8.1 pytz 2019.3 pywin32-ctypes 0.2.0 设置工具41.2.0 六个1.14.0
现在从venv开始,您可以运行pyinstaller来创建一个.exe文件:
(venv) D:\PYTHON\my_new_great_project>pyinstaller --onefile --name my_project great_project.py
现在,您的项目可以在名为“ dist”的文件夹中作为单个.exe文件使用。
我希望它可以帮助某人。