Python 错误 Fatal Python Error: Py_Initialize Unable to Load the File System Codec


在本文中,我们将学习如何解决在代码执行期间发生的致命 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 中出现致命错误。

  1. 在系统/环境变量中找不到Python,所以系统无法定位到它。
  2. 可能有不止一种 Python 版本可用。
  3. 看来系统上没有正确安装 Python。

修复 Fatal Python error: Py_Initialize: unable to load the file system codec 错误

解决方法是需要正确安装Python,并在系统/环境变量中正确设置Python的路径。 请按照以下步骤完成此操作:

适用于 Windows 10 操作系统

  1. 可以通过右键单击 Windows 图标来访问该系统。
    在windows设置中搜索系统
  2. 在搜索栏中搜索 env 后,选择编辑系统环境变量。
    在 Windows 设置中搜索环境变量
  3. 您可以通过单击路径然后选择删除来删除任何 Python 路径。
  4. 或者,您可以单击新建并将 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。 已经揭示了系统错误是由什么引起的。

在看到解决错误的步骤后,我们在系统中设置了环境变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迹忆客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值