问题描述
对开发中遇到的错误进行汇总。
TypeError: ‘module’ object is not callable
问题描述:在 Dajngo 中,我们遇到该错误。注意,还有很多其他原因会到导致该问题。
原因分析:我们使用的 Django 不支持更新的 Celery 版本,进而 Celery 注解导致该错误。
解决方案:Celery 版本降级,指用 Django 支持的版本;
# file=sys.stderr)
File "/usr/lib/python3.5/site.py", line 182 file=sys.stderr) ^ SyntaxError: invalid syntax
版本:Python3.5
描述:在Python3.5脚本中使用os.system调用了一个python2.7的命令,产生了如上错误。是在Eclipse中直接运行Python3.5脚本。
解决:抱着试一试的态度,我在终端中直接运行了脚本,是正常的,没有上述错误。难道是Eclipse导致的BUG?在Eclipse中安装了PyDev插件。
ImportError: No module named ‘encodings’
python – ImportError: No module named ‘encodings’ – Stack Overflow
问题描述
在执行虚拟环境时,出现如下错误:
... Could not find platform independent libraries <prefix> Could not find platform dependent libraries <exec_prefix> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] Fatal Python error: Py_Initialize: Unable to get the locale encoding ImportError: No module named 'encodings' ...
原因分析
我们原本使用 Python 3.7 创建虚拟环境,迁移到使用 Python 3.9 新主机而出现该错误。
我们没有找到具体原因,我们推测是因为新环境缺少某些模块。
解决方案
我们将重建虚拟环境:
1)pip freeze > requirements.txt
2)然后,使用 virtualenv 重新基于 Python 3.9 的创建虚拟环境,并激活;
3)pip install -r requirements.txt