cx-freeze 权限错误:[Errno 13] 权限被拒绝

3

我试图使用cx_Freeze作为将.py文件转换为.exe文件的替代应用程序(与auto-py-to-exe相比)。当我在命令提示符中运行它时,出现以下错误:

C:\WINDOWS\system32>cxfreeze-quickstart
Project name: FE
Version [1.0]: 1.0
Description: File Edit and more!!!
Python file to make executable from: File Create.py
Executable file name [File Create]: FileCreateExe
(C)onsole application, (G)UI application, or (S)ervice [C]: C
Save setup script to [setup.py]: C:\Users\tom\Documents\python\_Thiswill createfiles_
Overwrite C:\Users\tom\Documents\python\_Thiswillcreatefiles_ [n]? yes
Traceback (most recent call last):
  File "c:\users\tom\appdata\local\programs\python\python38-32\lib\runpy.py", line 193, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "c:\users\tom\appdata\local\programs\python\python38-32\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\tom\AppData\Local\Programs\Python\Python38-32\scripts\cxfreeze-quickstart.exe\__main__.py", line 7, in <module>
  File "c:\users\tom\appdata\local\programs\python\python38-32\lib\site-packages\cx_Freeze\setupwriter.py", line 101, in main
    writer.Write()
  File "c:\users\tom\appdata\local\programs\python\python38-32\lib\site-packages\cx_Freeze\setupwriter.py", line 64, in Write
    output = open(self.setupFileName, "w")
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\tom\\Documents\\python\\_This will create files_'

如您所见,我正在以管理员身份运行命令提示符,因为我在正常运行时遇到了相同的错误。我该怎么解决这个错误?PermissionError: [Errno 13] Permission denied: 'C:\\Users\\tom\\Documents\\python\\_This will create files_'我找不到任何其他网站来解释如何解决这个问题。为什么会出现这个错误?请帮帮我...


@PNX,你能提供一些文件名的正确示例吗?我的意思是,为什么要将Python文件命名为File Create.py,并将可执行文件命名为[File Create] File Create Executable?此外,你能否创建一个没有空格的文件夹来保存文件?例如:C:\Users\tom\Documents\python\_This will create files_ - Nagaraj Tantri
我更新了问题@NagarajTantri。我希望这就是你的意思? - Thomas
3个回答

3

伙计,你是在system32目录下运行命令

使用此命令切换到另一个目录,然后再试一次。

cd C:/Users/<your name>/Documents

如果这不起作用,请前往这里


当您以管理员身份运行cmd(和进程)时,System32会出现。 - Thomas
@DiamondDemon 在Windows上的目录分隔符是\,而不是Linux/Mac上的/。请阅读微软关于命名文件、路径和命名空间的文章,并且在将来的Windows文件/文件夹字符串中不要使用/作为目录分隔符,尽管Windows通常会在传递文件/文件夹字符串到文件系统之前替换它们。比较for %I in (C:\Windows\*.exe) do @echo %Ifor %I in (C:/Windows/*.exe) do @echo %I的输出并查看输出中的差异。 - Mofi
@DiamondDemon 在编程中,有一个预定义的Windows环境变量 USERPROFILE,它包含了用户个人资料目录的路径,应该使用它而不是C:/Users/<your name>。文件/文件夹名称应始终用"括起来,以便即使包含例如字符&也能正常工作。此外,在使用__CD__更改目录时,建议使用选项/D,如果必要,也可以使用驱动器。因此,如果用户的文档shell文件夹仍然是默认文件夹,则最好使用cd /D "%UserProfile%\Documents" - Mofi
@DiamondDemon,使用Windows自动语法纠正功能的命令与因为完全正确而工作的命令之间存在差异。在我的电脑上,由于打开命令提示窗口后当前目录默认不在C盘,并且我的用户配置文件目录不在C:\Users中,所以您张贴的命令永远不会起作用。如果用户帐户名包含类似“Obelix GmbH&Co KG”这样的“&”,则您的命令也无法工作。SO是一个为程序员服务的网站,应该发布按设计工作而非偶然工作的代码。 - Mofi

1
步骤1:将Python添加到Windows路径中
步骤2:以管理员身份打开Windows命令提示符
步骤3:安装Pyinstaller软件包

在Windows命令提示符中,输入以下命令以安装pyinstaller软件包(然后按Enter键):

pip install pyinstaller

第四步:保存你的Python脚本。

我将Python脚本保存在以下文件夹中:

C:\Users\Ron\Desktop\MyPython

我将Python脚本命名为“hello”。

第五步:使用Pyinstaller创建可执行文件。

现在,你可以使用pyinstaller从Python脚本创建可执行文件。

只需打开命令提示符,然后键入:

cd + 存储Python脚本的位置

在我的情况下,我在命令提示符中键入了以下内容:

cd C:\Users\Ron\Desktop\MyPython

接下来,使用以下模板创建可执行文件:

pyinstaller --onefile pythonScriptName.py

在我们的例子中,pythonScriptName是'hello',因此创建可执行文件的命令是:

pyinstaller --onefile hello.py

完成后,按Enter键进行最后一次操作。

步骤6:运行可执行文件。

现在,您的可执行文件应该已经创建并位于您指定的位置。

在我的情况下,我回到了最初存储“hello”脚本的位置

(C:\Users\Ron\Desktop\MyPython)。

在该位置创建了几个附加文件。要查找可执行文件,请打开dist文件夹:

希望这解决了问题。


1
Please provide the correct content that needs to be translated. - Syed
1
但是他/她需要以管理员身份打开命令提示符。这可能会解决问题。 - Syed
1
老兄,Autopytoexe使用了Pyinstaller,我已经检查过源代码了。 - user13564783

1

阅读此文档。在您的项目目录中创建一个setup.py文件,并将文档中的内容复制到其中。

根据需要进行修改,然后在项目目录中运行python setup.py build


“Read this doc” 链接已损坏。 - M463

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接