【发布时间】:2021-03-06 12:36:02
【问题描述】:
我刚开始遇到 python 的一些问题,并且想以正确的方式解决这个问题,作为最后的手段,如果我必须重新安装。
在 Python 3 之前,我安装了 Python 2.7。然后我在旁边安装了 Python 3.7。我不记得,路径环境是自动设置的,还是我手动设置的。 我的系统变量路径包含:
C:\Python27\;C:\Python27\Scripts;
所以我相信这是自动设置的。 然而,我的用户变量路径包含:
C:\Python37\;C:\Python37\Scripts;
python 安装程序会使用用户环境吗?我不确定,所以我不知道是不是我自己设置的。
但是,用户变量路径还包含:
%PYTHON_DIR%\Python37\Scripts\;%PYTHON_DIR%\Python37\;%PYTHON_DIR%\Python36\Scripts\;%PYTHON_DIR%\Python36\
再说一次,我不知道是不是我自己设置的,而且我不记得在我的用户变量中设置了这个:
PYTHON_DIR = C:\Users\pcuser\AppData\Local\Programs\Python
我的用户变量路径中也有这个:
PYTHON = os.path.expanduser(os.getenv('PYTHON', 'C:\\Python37\\python.exe'))
我知道我创建了一个 python 环境。我只需要寻找它,因为我现在不记得在哪里找到它。
这是我遇到的问题。 我也在 MSYS 中使用 Python,并从 C:\msys64\usr\bin 中的 Python 获取此错误:
Could not find platform independent libraries <prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: initfsencoding: Unable to get the locale encoding
ModuleNotFoundError: No module named 'encodings'
Current thread 0x0000000800018040 (most recent call first):
0 [main] python 1489 cygwin_exception::open_stackdumpfile: Dumping stack t
race to python.exe.stackdump
我将 PYTHONHOME 设置为 C:\msys64\usr\bin。那并不能解决问题。 我还删除了 PYTHON_DIR 以查看那里是否存在冲突,但这并没有解决问题。 相反,我遇到了另一个错误:
Fatal Python error: initfsencoding: Unable to get the locale encoding
ModuleNotFoundError: No module named 'encodings'
Current thread 0x0000000800018040 (most recent call first):
0 [main] python 143 cygwin_exception::open_stackdumpfile: Dumping stack tr
ace to python.exe.stackdump
所以在我看来,我的 Python 环境搞砸了,我想学习如何正确设置它,希望不必重新开始。 我怎样才能摆脱这些错误,并获得一个合适的python环境?
【问题讨论】:
-
PYTHON = os.path.expanduser(os.getenv('PYTHON', 'C:\\Python37\\python.exe'))肯定看起来不对;你到底在哪里有这个? -
这是在我的用户变量中。我相信它是由程序设置的,因为我不知道该怎么做。
-
您的意思是在您的 Windows 环境中?你不能把 Python 代码放在那里,只能放静态文本。
-
我确定不是我做的,所以我想如果一个程序把它放在那里,它一定知道它在做什么。
-
我仍然不确定我是否正确理解“我的用户变量”的意思。