我对 python,尤其是它的生态系统非常陌生。今天,我试图从我的命令行调用一个昨天运行良好的 python 命令,但今天我收到以下致命错误:
Fatal Python error: init_import_size: Failed to import the site module
Python runtime state: initialized
ModuleNotFoundError: No module named 'site'
Current thread 0x00000cac (most recent call first):
<no Python frame>
在尝试查找问题时,我很快意识到这对我的命令来说并不特殊。事实上,从任何命令提示符调用时,所有与 python 相关的可执行文件都会产生相同的错误,无论我位于文件系统中的哪个位置。
python
,python3
,anaconda
(及其提示),conda
,pip
,pip3
,......所有这些突然不再起作用了。它们都失败并显示相同的错误消息,只有线程正在改变。
在我的研究中,我经常发现一个非常相似的错误,但它与
encodings
模块有关。另外,我还没有读到有关整个 Python 生态系统刚刚崩溃的问题。
上述类似错误的解决方案似乎包括对
PYTHONPATH
和 PYTHONHOME
envs (如果存在)做一些事情。但我没有它们,既没有作为用户变量,也没有作为系统变量。
我通过 scoop 安装 anaconda3 来安装 python。应该是最新版本(2020.11)。我一直在使用 PyCharm
内部以及通过命令行的安装。有谁知道这里的问题是什么?我有点被困在这里,因为我什至无法使用 conda 或 pip 进行诊断,例如调用
conda list
来了解有关
site
包状态的更多信息。所以,如果有人能帮助我,我将非常感激!
对我来说,我有一些项目树(虚构):
doc/
├── project/
│ ├── embedded/
| | ├── __init__.py
│ │ ├── deep_file
│ │ └── utils/
│ │ └── os.py # < This one! Look here!!
│ │ └── deep/
│ │ └── folder/
│ │ └── very_deep_file
│ └── less_deep_file
|...
在这棵树中,我有一个名为 .../utils/os.py
的文件。Pycharm 调试模式会找到此
os.py
并使用它代替默认的
os.py
。为了解决这个问题,我将 os.py
重命名为其他名称。我真是个傻瓜!希望这可以节省其他人的时间和头痛!!
operator.py
) 中有一个名为
C:\Users\micha\PycharmProjects\pythonProject\
的文件。此文件名与 Python 的内置
operator
模块冲突。要解决此问题:
重命名冲突文件:将项目目录中的 operator.py
重命名为唯一的名称,例如
my_operator.py
。
__pycache__
文件夹,然后删除与
.pyc
相关的所有
operator
文件。
重新启动您的IDE:关闭并重新打开PyCharm以确保它不会缓存旧文件路径。
executing python from command prompt failed with very same error (which was working fine earlier).
Fatal Python error: init_import_site: Failed to import the site module
Python runtime state: initialized
Traceback (most recent call last):
File "C:\.......\Python\Python310\lib\site.py", line 73, in <module>
import os
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 879, in exec_module
File "<frozen importlib._bootstrap_external>", line 1012, in get_code
File "<frozen importlib._bootstrap_external>", line 672, in _compile_bytecode
ValueError: bad marshal data (unknown type code)
However after restarting my windows machine, i didn't get this error.