2016-06-30 122 views
26

我最近重新安装的Ubuntu并没有升级到16.04,不能使用Python:导入错误:没有模块名为“编码”

$ python manage.py runserver 
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' 
Aborted 

在这一点上,巨蟒本身不工作

$ python 
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' 
Aborted 

即使这个建议不再有效:

unset PYTHONHOME 
unset PYTHONPATH 

每一次我修复它,它会再次回来。几个答案有助于暂时修复它,但不是很好。我已经重新安装了python和python3好几次了。我能从这里做什么?谢谢

+0

这是关系到Django还是Python?你可能想用适当的标签编辑你的问题。 –

+0

只是蟒蛇,我碰巧正在使用Django – codyc4321

+0

这似乎是蟒蛇安装不完整。你是否通过apt安装了python,或者你是否从源代码编译并安装了它?运行'哪个python'来检查你在$ PATH中的第一个python二进制文件。 – HAL

回答

26

对于Python-3尝试删除虚拟环境文件。并重置它。

rm -rf venv 
virtualenv -p /usr/bin/python3 venv/ 
source env/bin/activate 
pip install -r requirements.txt 

https://wiki.ubuntu.com/XenialXerus/ReleaseNotes#Python_3

+1

感谢马拉夫先生 – codyc4321

+0

太棒了!感谢教我如何使用'virtualenv'命令将python3安装到env中!出于某种原因,我花了大约2个月才找到它。令人惊叹... – MadPhysicist

+0

嗨我试图在我的亚马逊AMI设备(基于RHEL)上这样做,但它不起作用。任何其他方式可以解决? –

2

对于Windows10用户。

我在Windows10上使用python3.4。我安装了python3.5。我无法找到PYTHONPATH,PYTHONHOME env变量。如果我在CMD控制台中命令python,它会一直使用python3.4。我删除了python3.4。每当我在CMD控制台命令python时,它就会开始显示如下的错误。

Fatal Python error: Py_Initialize: Unable to get the locale encoding 
ImportError: No module named 'encodings' 

我搜索了解我的问题。解决方案很简单。当您安装python3.5时,您可以自定义安装并检查将Python添加到高级选项中的环境变量

我只是为了避免某人遇到类似问题,请在此访问,以免他们浪费宝贵的时间来解决问题。

2

有关Windows7的同一问题

你会看到这样的错误,如果你的环境变量/系统变量设置不正确:

Fatal Python error: Py_Initialize: unable to load the file system codec 
ImportError: No module named 'encodings' 

Current thread 0x00001db4 (most recent call first): 

修复这是非常简单的:

  1. 当您下载Python3.x版本并运行.exe文件时,它会提供一个选项来自定义您的位置系统你想安装Python。例如,我选择了这个位置:C:\ Program Files文件\ Python36

  2. 然后打开系统属性,进入“高级”选项卡(或者你可以简单的做到这些:点击开始>搜索为“环境变量”>单击“编辑系统环境变量”。)在“高级”选项卡中,查找“环境变量”并单击它。另一个名为“环境变量”的窗口将弹出。

  3. 现在请确保您的用户变量具有在“路径变量”中列出的正确Python路径。在我的示例中,您应该看到C:\ Program Files \ Python36。如果您没有找到它,请通过选择路径变量字段并单击编辑来添加它。

  4. 最后一步是要仔细检查PYTHONHOMEPYTHONPATH在系统变量域在同一个窗口。您应该看到与上述相同的路径。如果不添加它也是。

然后单击确定,返回到CMD终端,并尝试检查python。现在应该解决这个问题。它为我工作。

+0

这和win10完全一样。在我的情况下,只是将PYTHONHOME和PYTHONPATH设置为较旧的安装。 –

2

我在迁移过程中有这种错误的Ubuntu 17.10,这解决了这个问题:

sudo dpkg-reconfigure python3 

也许你将不得不关闭会话并重新连接。

-1

我也可以解决这个问题。 PYTHONPATH和PYTHONHOME是原因。

运行这在终端

touch ~/.bash_profile 
    open ~/.bash_profile 

,然后删除该文件的所有无用部分,并保存。 我不知道如何推荐它这样做!

相关问题