解决Pycharm出现Runtime Error R6034的报错

时隔半年之后(这半年很少用Pycharm…),我终于在 stackoverflow 上找到了解决方案。

原文:

原文链接

回答者:Michael Cooper

···

I found the solution to the problem. Hopefully this will help someone else–these problems can be sofrustrating to debug.

The problem was caused by third-party software that had added itself to the path and installed msvcr90.dll in its program folder. In this case, the problem was caused by Intel’s iCLS Client.

So… How to find the problem in similar situations?

  1. Download Process Explorer here.
  2. Start your application and reproduce runtime error R6034.
  3. Start Process Explorer. In the “View” menu go to “Lower Pane View” and choose “DLLs”.
  4. In the top pane, locate your application and click on it. The bottom pane should show a list of DLLS loaded for your application.
  5. Locate “msvcr??.dll” in the list. There should be several. Look for the one that is not in the “winsxs” folder, and make a note of it.
  6. Now, check the path just before your application runs. If it includes the folder you noted in step 5, you’ve probably found the culprit.

How to fix the problem? You’ll have to remove the offending entry from the path before running your program. In my case, I don’t need anything else in the path, so I wrote a simple batch file that looks like this:

path=
myprogram.exe

That’s it. The batch file simply clears the path before my program runs, so that the conflicting runtime DLL is not found.

Hope this helps!

···

我使用Process Explorer找到报错的.dll文件的位置并且将其删除后,就没有再弹出错误警告。如果担心此做法会产生潜在的问题,那么可以将.dll文件移出当前文件夹先保存起来即可。

关于本文有任何问题可以留言或者通过邮件等方式联系我。

Licensed under CC BY-NC-SA 4.0
自认为是幻象波普星的来客
Built with Hugo
主题 StackJimmy 设计