7

我在窗口 7、python 2.7.2、pandas 0.11.0、django 1.4、wsgi 和 apache 2.2。我有一个 pandas 脚本,如果我直接使用 python 运行它,它可以正常工作,并且也可以在 ipython 中使用 %run 运行。但是,当我在视图中运行 pandas 时,我得到“LookupError:未知编码:cp0”。这只发生在视图中的 pandas 中使用 ols 时。我也有点困惑为什么 py3compat.py 在我使用 python 2.7 时进入图片。另外,我看过一些关于在 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

非常感谢!

4

4 回答 4

8

关闭 Spyder。

打开 Anaconda Prompt 并输入:set PYTHONIOENCODING=UTF-8. PYTHONIOENCODING或者,使用 name和 value创建一个环境变量UTF-8

键入spyder以重新开始。

于 2018-03-28T16:59:30.247 回答
0

我在使用 spyder 时也遇到了这个问题,但是当我打开一个新控制台时,它又可以正常工作了,很容易解决。

于 2017-09-12T14:10:39.943 回答
0

我也遇到过这个问题,用了很多方法。但是我也失败了,但是,当我重新启动Spyder并再次运行我的程序时,这个问题已经解决了,太神奇了,我建议你可以试试这个方法

于 2017-02-25T16:05:26.230 回答
0

conda create -n py2 python=2.7 anaconda jupyter spyder PYTHONIOENCODING=UTF-8 这不起作用:PackagesNotFoundError:当前频道不提供以下软件包:

  • pythonioencoding=UTF-8
于 2021-09-14T02:26:03.413 回答