返回

在安装了 Microsoft 商店版 Python 的 Windows 上运行 PyInstaller 的终极指南

windows

在安装了 Microsoft 商店版 Python 的 Windows 上运行 PyInstaller

问题陈述

如果您尝试在从 Microsoft 商店安装 Python 的 Windows 设备上运行 python -m PyInstaller,您可能会遇到以下错误:

OSError: [WinError 1920] The File Cannot Be Accessed By The System: 'C:\\Users\\[UserName]\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\\python.exe'

解决方法

方法 1:使用虚拟环境

虚拟环境是一种隔离的 Python 安装,不会影响系统范围的安装。它允许您安装自己的 Python 版本和软件包,而不会影响系统范围的安装。

  • 创建虚拟环境: 使用以下命令创建虚拟环境:
virtualenv my_env
  • 激活虚拟环境: 激活虚拟环境以使用它:
source my_env/bin/activate
  • 安装 PyInstaller: 在虚拟环境中安装 PyInstaller:
pip install pyinstaller
  • 运行 PyInstaller: 现在,您可以使用以下命令在虚拟环境中运行 PyInstaller:
pyinstaller my_script.py

方法 2:使用 WSL(Windows 子系统 for Linux)

WSL 允许您在 Windows 中运行 Linux 发行版。这允许您安装自己的 Python 版本和软件包,不受系统范围的 Windows 安装的影响。

  • 启用 WSL: 首先,启用 WSL:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
  • 安装 Linux 发行版: 安装 Linux 发行版,例如 Ubuntu:
wsl --install -d Ubuntu
  • 安装 Python 和 PyInstaller: 在 WSL 中安装 Python 和 PyInstaller:
sudo apt update
sudo apt install python3-pip
sudo pip3 install pyinstaller
  • 运行 PyInstaller: 现在,您可以使用以下命令在 WSL 中运行 PyInstaller:
pyinstaller my_script.py

常见问题解答

Q:我无法创建虚拟环境。

  • 确保您已使用 Python 3.6 或更高版本。
  • 确保您具有创建目录的权限。

Q:我无法在 WSL 中安装 Python 或 PyInstaller。

  • 确保您使用的是支持 Python 3.6 或更高版本的 Linux 发行版。
  • 确保您有权安装软件包。

Q:我在使用 PyInstaller 时遇到了其他错误。

  • 检查 PyInstaller 的文档以了解可能的解决方案。
  • 查看 PyInstaller 社区论坛以获得支持。

Q:我无法访问系统范围内安装的 Python。

  • 尝试使用 PyInstaller 的 --paths 选项来指定要使用的 Python 路径。
  • 考虑使用虚拟环境或 WSL,因为它允许您访问自己的 Python 安装。

Q:是否可以在不创建虚拟环境或使用 WSL 的情况下使用 PyInstaller?

  • 在某些情况下,您可能能够通过修改系统路径来使用 PyInstaller。但是,这并不推荐,因为可能会导致问题。

结论

通过使用虚拟环境或 WSL,您可以在从 Microsoft 商店安装 Python 的 Windows 设备上成功运行 PyInstaller。通过遵循本文中的步骤,您可以解决错误并轻松构建独立应用程序。