Python LookupError:未知编码:cp0

Python LookupError:未知编码:cp0,python,django,encoding,pandas,Python,Django,Encoding,Pandas,我使用的是windows7、python2.7.2、pandas 0.11.0、django 1.4、wsgi和apache2.2。我有一个pandas脚本,如果我直接用python运行它,并且在ipython中用%run运行它,它可以很好地工作。然而,当我在视图中运行pandas时,会得到“LookupError:unknown encoding:cp0”。只有在视图中的熊猫中使用ols时才会发生这种情况。我也有点困惑为什么在我使用Python2.7时py3compat.py会进入图片。此外,

我使用的是windows7、python2.7.2、pandas 0.11.0、django 1.4、wsgi和apache2.2。我有一个pandas脚本,如果我直接用python运行它,并且在ipython中用%run运行它,它可以很好地工作。然而,当我在视图中运行pandas时,会得到“LookupError:unknown encoding:cp0”。只有在视图中的熊猫中使用ols时才会发生这种情况。我也有点困惑为什么在我使用Python2.7时py3compat.py会进入图片。此外,我还看到一些关于在str()中包装打印变量的帖子,但我不确定这在这里会如何应用。整个回溯是:

Traceback (most recent call last):
model = pd.ols(y=df_loan['LogSpread'], x=df_loan['Dummy Rating'])
File "C:\\Python27\\lib\\site-packages\\pandas\\stats\\interface.py", line 135, in ols
return klass(**kwargs)
File "C:\\Python27\\lib\\site-packages\\pandas\\stats\\ols.py", line 43, in __init__
  import statsmodels.api as sm
File "C:\\Python27\\lib\\site-packages\\statsmodels-0.5.0-py2.7-win32.egg\\statsmodels\\api.py", line 3, in <module>
  import regression
File "C:\\Python27\\lib\\site-packages\\statsmodels-0.5.0-py2.7-win32.egg\\statsmodels\\regression\\__init__.py", line 1, in <module>
  from linear_model import yule_walker
File "C:\\Python27\\lib\\site-packages\\statsmodels-0.5.0-py2.7-win32.egg\\statsmodels\\regression\\linear_model.py", line 41, in <module>
  import statsmodels.base.model as base
File "C:\\Python27\\lib\\site-packages\\statsmodels-0.5.0-py2.7-win32.egg\\statsmodels\\base\\model.py", line 10, in <module>
from statsmodels.formula import handle_formula_data
File "C:\\Python27\\lib\\site-packages\\statsmodels-0.5.0-py2.7-win32.egg\\statsmodels\\formula\\__init__.py", line 4, in <module>
  from formulatools import handle_formula_data
File "C:\\Python27\\lib\\site-packages\\statsmodels-0.5.0-py2.7-win32.egg\\statsmodels\\formula\\formulatools.py", line 2, in <module>
  from patsy import dmatrices
File "build\\bdist.win32\\egg\\patsy\\__init__.py", line 70, in <module>
  _reexport("patsy." + child)
File "build\\bdist.win32\\egg\\patsy\\__init__.py", line 61, in _reexport
__import__(modname)
File "build\\bdist.win32\\egg\\patsy\\highlevel.py", line 18, in <module>
File "build\\bdist.win32\\egg\\patsy\\design_info.py", line 17, in <module>
File "build\\bdist.win32\\egg\\patsy\\util.py", line 385, in <module>
File "C:\\Python27\\lib\\site-packages\\ipython-0.13.1-py2.7.egg\\IPython\\__init__.py", line 46, in <module>
  from .frontend.terminal.embed import embed
File "C:\\Python27\\lib\\site-packages\\ipython-0.13.1-py2.7.egg\\IPython\\frontend\\terminal\\embed.py", line 39, in <module>
  from IPython.frontend.terminal.interactiveshell import TerminalInteractiveShell
File "C:\\Python27\\lib\\site-packages\\ipython-0.13.1-py2.7.egg\\IPython\\frontend\\terminal\\interactiveshell.py", line 33, in <module>
  from IPython.core.interactiveshell import InteractiveShell, InteractiveShellABC
File "C:\\Python27\\lib\\site-packages\\ipython-0.13.1-py2.7.egg\\IPython\\core\\interactiveshell.py", line 61, in <module>
  from IPython.core.prompts import PromptManager
File "C:\\Python27\\lib\\site-packages\\ipython-0.13.1-py2.7.egg\\IPython\\core\\prompts.py", line 138, in <module>
  HOME = py3compat.str_to_unicode(os.environ.get("HOME","//////:::::ZZZZZ,,,~~~"))
File "C:\\Python27\\lib\\site-packages\\ipython-0.13.1-py2.7.egg\\IPython\\utils\\py3compat.py", line 18, in decode
  return s.decode(encoding, "replace")
LookupError: unknown encoding: cp0
回溯(最近一次呼叫最后一次):
模型=pd.ols(y=df_贷款['LogSpread'],x=df_贷款['Dummy Rating']))
ols中第135行的文件“C:\\Python27\\lib\\site packages\\pandas\\stats\\interface.py”
返回klass(**kwargs)
文件“C:\\Python27\\lib\\site packages\\pandas\\stats\\ols.py”,第43行,在\uu init中__
将statsmodels.api作为sm导入
文件“C:\\Python27\\lib\\site packages\\statsmodels-0.5.0-py2.7-win32.egg\\statsmodels\\api.py”,第3行,在
输入回归
文件“C:\\Python27\\lib\\site packages\\statsmodels-0.5.0-py2.7-win32.egg\\statsmodels\\regression\\\\ uuu init\ uuuu.py”,第1行,在
从线性模型导入yule_walker
文件“C:\\Python27\\lib\\site packages\\statsmodels-0.5.0-py2.7-win32.egg\\statsmodels\\regression\\linear\u model.py”,第41行,in
导入statsmodels.base.model作为基础
文件“C:\\Python27\\lib\\site packages\\statsmodels-0.5.0-py2.7-win32.egg\\statsmodels\\base\\model.py”,第10行,在
从statsmodels.formula导入句柄\公式\数据
文件“C:\\Python27\\lib\\site packages\\statsmodels-0.5.0-py2.7-win32.egg\\statsmodels\\formula\\\\ uuu init\ uuuuu.py”,第4行,在
从formulatools导入句柄\公式\数据
文件“C:\\Python27\\lib\\site packages\\statsmodels-0.5.0-py2.7-win32.egg\\statsmodels\\formula\\formulatools.py”,第2行,在
从patsy导入数据矩阵
文件“build\\bdist.win32\\egg\\patsy\\\\uuuuu init\uuuuu.py”,第70行,在
_再出口(“patsy.”儿童)
文件“build\\bdist.win32\\egg\\patsy\\\\uuuuu init\uuuuu.py”,第61行,在重新导出中
__导入(modname)
文件“build\\bdist.win32\\egg\\patsy\\highlevel.py”,第18行,在
文件“build\\bdist.win32\\egg\\patsy\\design\u info.py”,第17行,在
文件“build\\bdist.win32\\egg\\patsy\\util.py”,第385行,在
文件“C:\\Python27\\lib\\site packages\\ipython-0.13.1-py2.7.egg\\ipython\\\\uuu init\uuu.py”,第46行,in
from.frontend.terminal.embed导入嵌入
文件“C:\\Python27\\lib\\site packages\\ipython-0.13.1-py2.7.egg\\ipython\\frontend\\terminal\\embed.py”,第39行,在
从IPython.frontend.terminal.interactiveshell导入TerminalInteractiveShell
文件“C:\\Python27\\lib\\site packages\\ipython-0.13.1-py2.7.egg\\ipython\\frontend\\terminal\\interactiveshell.py”,第33行,在
从IPython.core.interactiveshell导入interactiveshell,InteractiveShellABC
文件“C:\\Python27\\lib\\site packages\\ipython-0.13.1-py2.7.egg\\ipython\\core\\interactiveshell.py”,第61行,在
从IPython.core.PromptManager导入PromptManager
文件“C:\\Python27\\lib\\site packages\\ipython-0.13.1-py2.7.egg\\ipython\\core\\prompts.py”,第138行,在
HOME=py3compat.str_to_unicode(os.environ.get(“HOME”,“//:ZZZZZ,,,~~”)
文件“C:\\Python27\\lib\\site packages\\ipython-0.13.1-py2.7.egg\\ipython\\utils\\py3compat.py”,第18行,解码
返回s.decode(编码,“替换”)
LookupError:未知编码:cp0

非常感谢

我也遇到了这个问题,使用了很多方法。但是我也失败了,但是,当我重新启动Spyder并再次运行我的程序时,这个问题已经解决了,这太神奇了,我建议你可以尝试一下这个方法。这意味着我在使用Spyder时也遇到了这个问题。然而,当我打开一个新的控制台时,它会再次工作,所以很容易修复。

关闭Spyder

打开Anaconda提示符并键入:
set pythonionecoding=UTF-8
。 或者,创建一个名为
pythonionecoding
且值为
UTF-8
的环境变量


键入
spyder
重新开始。

这很奇怪。在控制台
chcp
中执行此操作,以查看当前使用的代码页。活动代码页:437I进行了大量的进一步调试。似乎我一开始就不能导入IPython。回溯从from.frontend.terminal.embed导入embed开始。所以这是一个糟糕的解决方案,但它在我的机器上工作。我进入了IPython\core\prompts.py文件,将HOME=py3compat.str_改为unicode(os.environ.get(“HOME”),“//:ZZZZZ,,,,~~~”)改为HOME=py3compat.str_改为unicode(os.environ.get(“HOME”),//:ZZZZZ,,~~”,[cp437')。我也对用户和主机名做了同样的操作,在下面几行。