虚拟环境执行Django createsuperuser时提示找不到_ffi模块
解决Django创建超级用户时
No module named _ffi报错的方案 彻底重装cffi相关包
先在激活的虚拟环境里执行卸载命令:pip uninstall -y cffi pycffi然后安装稳定版本的cffi(避免最新版本兼容性问题):
pip install cffi==1.15.1重建虚拟环境
虚拟环境损坏也可能导致这类依赖问题,步骤如下:- 退出当前虚拟环境:
deactivate(Windows系统用venv\Scripts\deactivate) - 删除旧的虚拟环境文件夹
- 重新创建虚拟环境:
python -m venv venv - 激活新虚拟环境:
source venv/bin/activate(Windows系统用venv\Scripts\activate) - 重新安装项目所有依赖:
pip install -r requirements.txt
- 退出当前虚拟环境:
补全系统层面的依赖
_ffi是cffi的底层编译依赖,需要系统安装对应工具:- Ubuntu/Debian系统:
sudo apt-get install libffi-dev python3-dev - CentOS/RHEL系统:
sudo yum install libffi-devel python3-devel - Windows系统:安装Visual Studio构建工具并勾选C++开发组件,之后重新安装cffi
- Ubuntu/Debian系统:
验证cffi安装状态
激活虚拟环境后,打开Python交互模式执行以下代码:import cffi print(cffi.__version__)如果能正常打印版本号且无报错,说明cffi安装正常,再尝试执行
python manage.py createsuperuser
内容的提问来源于stack exchange,提问作者Teddy
相关产品推荐
相关产品推荐

