Pycharm中的DLL导入错误,但在外部工作正常

时间:2018-11-21 13:41:37

标签: python pycharm python-import

我在Windows计算机上安装了新的Anaconda和PyCharm。

只需运行

import numpy

提高

ImportError: DLL load failed: The specified module could not be found.

在类似的问题(12)中,人们建议检查PATH是否具有DLL的路径。 就我而言-确实如此!但是,相反,当我从PyCharm启动内容时,我会在PATH之前添加其他路径。我认为这可能是问题所在。

从Anaconda提示符运行时,sys.path为:

C:\Users\usr\Anaconda3\python37.zip
C:\Users\usr\Anaconda3\DLLs
C:\Users\usr\Anaconda3\lib
C:\Users\usr\Anaconda3
C:\Users\usr\Anaconda3\lib\site-packages
C:\Users\usr\Anaconda3\lib\site-packages\win32
C:\Users\usr\Anaconda3\lib\site-packages\win32\lib
C:\Users\usr\Anaconda3\lib\site-packages\Pythonwin

从Pycharm中的python控制台运行时,sys.path是相同的,除了现在我们在文件的开头有两条附加行:

C:\Users\usr\AppData\Local\JetBrains\Toolbox\apps\PyCharm-C\ch-0\182.4505.26\helpers\pydev
C:\Users\usr\AppData\Local\JetBrains\Toolbox\apps\PyCharm-C\ch-0\182.4505.26\helpers\pydev

顺便说一句,初始错误是由C:\Users\usr\AppData\Local\JetBrains\Toolbox\apps\PyCharm-C\ch-0\182.4505.26\helpers\pydev\_pydev_bundle\pydev_import_hook.py引起的。
因此,我认为这可以找到问题所在,但我不知道为什么会出现,为什么它不会在我的另一台计算机上发生,更重要的是,如何解决它?


技术数据:

PyCharm 2018.2.4 (Community Edition)
Build #PC-182.4505.26, built on September 19, 2018
JRE: 1.8.0_152-release-1248-b8 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

Windows 10 10.0

Python: 3.7, 3.6.6;

numpy: 1.15.4; 1.14.6

2 个答案:

答案 0 :(得分:1)

这是一个公开的错误;来自Jetbrains问题跟踪器的This answer为我临时解决了该问题。

  
      
  • 打开命令行
  •   
  • 激活conda venv
  •   
  • 通过回声%PATH%获得正确的PATH值
  •   
  • 打开PyCharm并设置新的PATH值      
        
    • 用于“设置” |“ Python控制台”中的构建,执行,部署|控制台| Python控制台|环境变量
    •   
    • 用于在“运行” |“运行”中运行脚本编辑配置... | |环境变量
    •   
  •   

UPD :该错误已在2019.1中修复

答案 1 :(得分:0)

最后我从pydev中找到的是这种解决方法,就像pycharm一样,但是在eclipse IDE中作为插件:

  

”“请注意,现在,解决方法可以从该Shell启动Eclipse,转到相关的解释器,并添加一个'PATH'环境变量以匹配预期运行conda的环境变量(您可以强制环境变量用于具体的翻译人员。” Link

对于pycharm来说,这可以用相同的方法完成。从正确的环境中启动pycharm,并显式设置路径变量。