Python ImportError:没有名为';编码';

Python ImportError:没有名为';编码';,python,python-3.x,virtualenv,development-environment,macos-catalina,Python,Python 3.x,Virtualenv,Development Environment,Macos Catalina,我最近重新安装了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_pre

我最近重新安装了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和python3。从这里我能做什么?感谢您使用Python-3尝试删除虚拟环境文件。然后重新设置它

rm -rf venv
virtualenv -p /usr/bin/python3 venv/
source venv/bin/activate
pip install -r requirements.txt
为Windows10用户编辑fo

。 我在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添加到环境变量”


我离开这里是为了防止有人遇到类似问题,请访问这里,这样他们就不会浪费宝贵的时间来解决问题。

在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):
解决这个问题非常简单:

  • 当您下载Python3.x版本并运行.exe文件时,它为您提供了一个选项,可以自定义要在系统中安装Python的位置。例如,我选择了这个位置:C:\ProgramFiles\Python36

  • 然后打开系统属性并转到“高级””选项卡(或者您可以简单地执行此操作:转到开始>搜索“环境变量””>单击“编辑系统环境变量”。)在“高级”选项卡下,查找“环境变量”并单击它。将弹出另一个名为“环境变量”的窗口

  • 现在,确保您的用户变量在“path Variable”中列出了正确的Python路径。在我这里的示例中,您应该看到C:\ProgramFiles\Python36。如果在那里找不到它,请通过选择路径变量字段并单击编辑来添加它

  • 最后一步是再次检查同一窗口中系统变量下的PYTHONHOMEPYTHONPATH字段。您应该看到与上述相同的路径。如果没有,也加在那里


  • 然后单击OK并返回CMD终端,尝试检查python。这个问题现在应该得到解决。它对我很有用。

    我在迁移到Ubuntu 17.10时遇到了这个错误,这就解决了问题:

    sudo dpkg-reconfigure python3
    

    可能您必须关闭会话并重新连接。

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

    在终端上运行这个

       touch ~/.bash_profile
       open ~/.bash_profile
    
    然后删除此文件中所有无用的部分并保存。
    我不知道该怎么做才好

    在Windows7下,我也面临同样的问题。错误消息如下所示:

    我已经安装了Python2.7(现在已卸载),在安装Python3.6时,我选中了“在高级选项中将python添加到环境变量”。结果表明,环境变量“PYTHONHOME”和“PYTHONPATH”仍然是python2.7


    最后,我通过将“PYTHONHOME”修改为python3.6安装路径并删除变量“PYTHONPATH”解决了这个问题

    查看/lib/python3.5,您将看到到python库的断开链接。将其重新创建到工作目录

    下一个错误-

    ./script/bin/pip3
    Failed to import the site module
    Traceback (most recent call last):
      File "/home/script/script/lib/python3.5/site.py", line 703, in <module>
        main()
      File "/home/script/script/lib/python3.5/site.py", line 683, in main
        paths_in_sys = addsitepackages(paths_in_sys)
      File "/home/script/script/lib/python3.5/site.py", line 282, in addsitepackages
        addsitedir(sitedir, known_paths)
      File "/home/script/script/lib/python3.5/site.py", line 204, in addsitedir
        addpackage(sitedir, name, known_paths)
      File "/home/script/script/lib/python3.5/site.py", line 173, in addpackage
        exec(line)
      File "<string>", line 1, in <module>
      File "/home/script/script/lib/python3.5/types.py", line 166, in <module>
        import functools as _functools
      File "/home/script/script/lib/python3.5/functools.py", line 23, in <module>
        from weakref import WeakKeyDictionary
      File "/home/script/script/lib/python3.5/weakref.py", line 12, in <module>
        from _weakref import (
    ImportError: cannot import name '_remove_dead_weakref'
    

    只需进入文件->设置->选择项目选项卡下的项目解释器->单击小齿轮图标->添加->系统解释器->在下拉菜单中选择所需的python版本


    这似乎对我有效

    我也有类似的问题。我的计算机上安装了anaconda和python,我的python依赖项来自anaconda目录。当我卸载Anaconda时,这个错误开始出现。我添加了
    PYTHONPATH
    ,但它仍然没有运行。 我用python-version检查了一下,知道它仍在沿着蟒蛇的路径前进。 我不得不手动删除Anaconda3目录,之后python开始从
    PYTHONPATH
    获取依赖项

    问题解决了

    在使用
    pipenv
    时,将我的mac更新到macOS Catalina时遇到了相同的问题。Pipenv为您创建并管理一个
    virtualenv
    ,因此@Anoop Malav先前的建议是相同的,只是使用Pipenv根据当前目录删除虚拟环境并重置它:

    pipenv --rm
    pipenv shell  # recreate a virtual env with your current Pipfile
    
    在升级到macOS Catalina之后,我遇到了“ModuleNotFoundError:没有名为‘encodings’的模块”的问题

    我的系统中安装了多个版本的Python

    从macOS系统中删除所有python版本(2.7和3.7.4)并重新安装最新的Python3.8对我来说很有用

    要从macOS中删除python,我已经按照这里的说明进行了操作


    上面的链接是针对python 2.7的,但您也可以在3.7中使用相同的链接。

    因为这是谷歌的第一个结果,我只想为其他有监狱问题的人添加以下信息:

    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
    ModuleNotFoundError: No module named 'encodings'
    
    Current thread 0x00007f079b16d740 (most recent call first):
    Aborted (core dumped)
    
    找不到与平台无关的库
    找不到与平台相关的库
    考虑将$PythONHOLD设置为[:]
    致命的Python错误:Py_初始化:无法获取区域设置编码
    ModuleNotFoundError:没有名为“encodings”的模块
    当前线程0x00007f079b16d740(最新调用优先):
    中止(堆芯转储)
    

    在尝试将python导入您的jail时,您需要将依赖项和/usr/lib/pythonX.Y链接到[jail]/usr/lib/。希望这有帮助。

    在我的情况下,仅仅更改anaconda文件夹的权限就行了:

    sudo chmod -R u=rwx,g=rx,o=rx /path/to/anaconda   
    

    我在macOS Catalina 10.15.3上尝试启动MySql Workbench 8.0时遇到了这个错误

    我通过在系统上安装Python3.7解决了这个问题

    我想在将来,Workbench什么时候会有版本g
    cd my-virtualenv-directory
    virtualenv . --system-site-packages
    
    pipenv --rm
    pipenv shell  # recreate a virtual env with your current Pipfile
    
    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
    ModuleNotFoundError: No module named 'encodings'
    
    Current thread 0x00007f079b16d740 (most recent call first):
    Aborted (core dumped)
    
    sudo chmod -R u=rwx,g=rx,o=rx /path/to/anaconda