我正在开发一个项目,我需要安装python-3.7.7-embed-amd64。我从这里得到它:https://www.python.org/downloads/release/python-377/
当我尝试运行此命令时,我收到以下输出:
> python --version
Python 3.7.7
> python
Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'
我发现一些解决方案假设环境变量可能未正确设置。 但我认为我的设置正确。
> echo %PATH%
C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Program Files\nodejs\;C:\ProgramData\chocolatey\bin;C:\Program Files (x86)\MySQL\MySQL Utilities 1.6\;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;C:\Users\ela\python-3.7.7-embed-amd64;C:\Program Files\Java\jdk1.8.0_231\bin;C:\Users\ela\apache-maven-3.6.3\bin;C:\Users\ela\AppData\Local\Programs\Git\cmd;C:\Program Files\PostgreSQL\9.5\bin;C:\ProgramData\chocolatey\lib\payara\tools\payara41\bin;C:\Users\ela\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\ela\WildFly\wildfly-10.1.0.Final\bin;C:\Users\ela\npm-global\node_modules\@angular\cli\bin;C:\Users\ela\AppData\Local\atom\bin;
因此,在路径中我有正确的Python路径:C:\Users la\python-3.7.7-embed-amd64;
您认为我应该怎样努力消除这个错误?
Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'
此错误很可能是由于在没有进行所需修改的情况下运行 Windows
embed.zip
造成的。
Windows Python
embed.zip
发行版需要进行一些修改;它无法“开箱即用”正确运行。
PythonEmbed4Win.ps1
,用于安装从 Internet 下载的 embed.zip
Python 发行版,然后修改安装,使其运行时不会出现错误。
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/jtmoon79/PythonEmbed4Win/main/PythonEmbed4Win.ps1" -OutFile "PythonEmbed4Win.ps1"
.\PythonEmbed4Win.ps1 -Version 3.7
因此,在路径中我有正确的Python路径:C:\Users la\python-3.7.7-embed-amd64;
仅当您只想从命令 shell 中键入“
PATH
”时,才需要修改 python
。否则,通过完整路径调用 python
(python.exe
),例如C:\Users\ela\python-3.7.7-embed-amd64\python.exe
.