文章目录
在本文中,我们将学习如何解决在代码执行期间发生的致命 python 错误。
Python 错误 Fatal Python error: Py_Initialize: unable to load the file system codec
假设您正在尝试构建一个使用嵌入式 Python 3.2 解释器的简单 C++ 测试。 有一个错误 Fatal Python error: Py_Initialize: unable to load the file system codec。
示例代码:
#include <Python.h>
int main (int, char**)
{
Py_Initialize ();
Py_Finalize ();
return 0;
}
输出:
Fatal Python error: Py_Initialize: unable to load the file system codec
LookupError: no codec search functions registered: can't find encoding
通过 C/C++ 编译器加载 Python 的系统编解码器文件时出现问题。
以下因素可能导致 Python 中出现致命错误。
- 在系统/环境变量中找不到Python,所以系统无法定位到它。
- 可能有不止一种 Python 版本可用。
- 看来系统上没有正确安装 Python。
修复 Fatal Python error: Py_Initialize: unable to load the file system codec 错误
解决方法是需要正确安装Python,并在系统/环境变量中正确设置Python的路径。 请按照以下步骤完成此操作:
适用于 Windows 10 操作系统
- 可以通过右键单击 Windows 图标来访问该系统。
- 在搜索栏中搜索 env 后,选择编辑系统环境变量。
- 您可以通过单击路径然后选择删除来删除任何 Python 路径。
- 或者,您可以单击新建并将 Python 路径添加到系统变量。
这样做允许我们将 Python 路径添加到环境变量中。
对于 Ubuntu 或 Debian
如果您在 Ubuntu 或 Debian 上工作,您可能会收到相同的错误。 以下是我们需要遵循的解决此错误的方法。
要运行该命令,请打开终端并键入以下内容。
$ export PYTHONHOME=/usr/local/lib/python3.5/
$ export PYTHONPATH=/usr/local/lib/python3.5/
对于 macOS
在 macOS 中,同样是因为系统找不到 Python 也会出现这个错误。 毕竟,它不存在于系统/环境变量中。 这是因为有不止一个 Python 版本可用。
macOS 和 Windows 之间的解决方案略有不同。 macOS 用户必须找到一个名为 .bashrc 或 .bash_profile 的文件。
您必须将一条命令添加到该文件中。
export PYTHONHOME="/Users/<user>/python3/"
export PYTHONPATH="${PYTHONHOME}/bin"
完成上一步后,可以使用以下命令设置变量。
source .bashrc
用户负责他们的 .bashrc
文件(位于他们的主目录中)。 此处将从 .bashrc
文件中提取源代码。
对于 CentOS
在centOS的终端中运行以下命令即可解决问题。
export PATH=$PATH:/usr/local/bin/python
通过 export PATH=$...
从本地 Bin Python 中导出路径,结果,“/usr/local/bin/python 路径将添加到现有路径中。
对于 Jupyter notebooks
使用 Jupyter notebooks 时出现致命错误是完全不同的情况。 因为Jupyter notebook托管在你的本地电脑上,所以这个错误是因为你的本地电脑找不到Python的路径导致的。
必须在环境变量中指定 Python 路径才能修复错误。 遵循上述步骤将帮助我们基于我们的操作系统实现这一点。
我们可以使用 C 和 C++ 中的 Python.h 库将 Python 嵌入到这些语言中。
总结
在这篇 Python 文章中,我们处理了 Fatal Python error: py_initialize: unable to load the file system codec。 已经揭示了系统错误是由什么引起的。
在看到解决错误的步骤后,我们在系统中设置了环境变量。