【问题标题】:Python keeps getting corrupted and requiring reinstallationPython不断损坏并需要重新安装
【发布时间】:2023-03-13 06:00:01
【问题描述】:

我在 Windows 10 上使用 Miniconda 64 位版本 4.9.2。出于某种原因,我的 python 安装在运行脚本后不断损坏,有时它会随机发生,有时似乎是特定脚本导致它损坏。这不会发生在我的其他队友身上,尽管他们正在运行类似的环境。

在尝试运行当天之前运行的特定脚本或命令(例如 jupyter 实验室)后会发生什么,我会随机收到类似以下内容的错误:

ValueError: bad marshal data (unknown type code)

通常它似乎涉及我在堆栈跟踪中使用的一个库,但我不认为它是一个特定的库,因为堆栈跟踪中不时会出现不同的库,我猜是什么得到的在那一刻被破坏了。我已经尝试删除出错的特定库的 pycache 文件,但这向我展示了我认为问题的根源,文件被损坏并被随机字符覆盖。删除 .pyc 文件并尝试再次运行后,请参阅下面的示例错误堆栈跟踪:

Traceback (most recent call last):
  File "c:\users\user\miniconda3\envs\environment\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "c:\users\user\miniconda3\envs\environment\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "c:\users\user\miniconda3\envs\environment\Scripts\jupyter.exe\__main__.py", line 4, in <module>
  File "c:\users\user\miniconda3\envs\environment\lib\site-packages\jupyter_core\command.py", line 18, in <module>
    from . import paths
  File "c:\users\user\miniconda3\envs\environment\lib\site-packages\jupyter_core\paths.py", line 15, in <module>
    import tempfile
  File "c:\users\user\miniconda3\envs\environment\lib\tempfile.py", line 832
    self._rmtree(ȕ&�n�gH�6�
                          ^
SyntaxError: invalid character in identifier

当我在收到此错误后查看文件时,它实际上已被切断,并且已插入像上面看到的随机字符。但是,这永远不会在脚本中间发生,它只是在某些东西运行之后我尝试再次运行它,或者我尝试在之后运行其他东西。不知道发生了什么我不是超级精通python。它已经到了我必须每天重新安装多次的地步。

这只是我的系统吗?我正在使用 pycharm 作为我的 IDE,这与它有什么关系吗?我将尝试不同版本的 miniconda,但不确定这是否会起到很大作用。通过我的研究,我没有找到对这个问题的太多支持。

【问题讨论】:

    标签: python conda corruption miniconda


    【解决方案1】:

    我在使用 Miniforge(python 3.7.10、conda 4.10.3、windows 10)时遇到了同样的问题。 某些模块的 .py 文件的最后一行随机损坏。

    我注意到除了lib的内容外,pkgs子文件夹中的所有.py文件都已经损坏,但是tar包中的压缩文件很好。

    我找到了这个临时解决方法:

    • 删除lib\brokenmodule\__pycache__中的缓存文件
    • 删除pkgs\brokenmodule-version-build\中的源文件夹
    • 运行conda update brokenmodule --force-reinstall

    【讨论】:

      猜你喜欢
      • 2017-10-02
      • 2018-09-19
      • 2011-01-21
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 2019-02-09
      • 2017-11-26
      • 2020-06-03
      相关资源
      最近更新 更多