「Python」- 错误汇总

问题描述

对开发中遇到的错误进行汇总。

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