出现 ModuleNotFoundError: No module named ‘_ctypes’ 错误,通常是因为系统中缺少了 libffi 或者 libffi-devel 库,而这个库是 Python 编译和运行时需要的一个依赖。这个问题在使用源代码编译安装 Python 时特别常见(对,我就是编译安装的)。通过以下步骤解决这个问题:
1. 安装 libffi 和 libffi-devel 库:
首先,确保你已经安装了 libffi 和 libffi-devel。打开终端并运行以下命令来安装这些库:
sudo yum install libffi libffi-devel -y
‼️python升级3.9后使用yum报错
File “/usr/bin/yum”, line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
原因是yum包管理是使用的python2.x,所以做如下修改即可
vi /usr/bin/yum
#!/usr/bin/python2.7
vi /usr/libexec/urlgrabber-ext-down
#!/usr/bin/python2.7
2. 重新编译和安装 Python:
#此处需要根据实际情况做调整
cd /path/to/python/source
./configure --prefix=/usr/local/python3
make && make install
3. 检查并确认 Python 安装成功:
重新安装完成后,确认 Python 可以正常运行,并且可以加载 ctypes 模块。
python -V
python -c "import ctypes; print(ctypes.__file__)"
如果没有错误,说明问题已经解决。
4. 确保项目环境正确:
如果你是在虚拟环境中运行项目,确保在虚拟环境中使用了正确版本的 Python,并且环境中没有配置错误。可以尝试重新创建虚拟环境并重新安装依赖。
python3.9 -m venv myenv
source myenv/bin/activate
pip install -r requirements.txt
通过以上步骤,应该可以解决 _ctypes 模块缺失的问题。如果问题仍然存在,请检查是否有其他的系统依赖或环境变量配置问题。
👍以上答案来自chatGPT,相当牛逼的存在!