Django工程中,python manage.py startapp发生ImportError: DLL load failed: 找不到指定的模块。
一开始直接使用pycharm新键Django项目
如果选择了第一个选项,那么接下来使用python manage.py startapp
的时候就会发生
ImportError: DLL load failed: 找不到指定的模块
但是新键项目的时候直接使用existing interpreter(第二个选项),python manage.py startapp
则不会发生这个错误
注:
在每次新建python工程的时候都会有上边的选择,默认的是Virtualenv,大部分时间是对这个选项不进行修改的。那么Virtualenv是什么东西呢?
在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4。所有第三方的包都会被pip安装到Python3的site-packages目录下。如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3。如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办?这种情况下,每个应用可能需要各自拥有一套“独立”的Python运行环境。virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。
virtualenv为应用提供了隔离的Python运行环境,解决了不同应用间多版本的冲突问题。
当然有好处也存在着弊端,在每次新建工程的时候,pycharm都会"Creating Virtual Environment"花费一段时间。这样我们在新建工程的时候就可以选择以前建立好的虚拟环境,这样进入的时间就会快一点。
原因:
那么导致<ImportError: DLL load failed: 找不到指定的模块>
这个错误应该就是环境变量的原因了,因为这个new environment并没有在环境变量的系统变量PATH中,所以找不到,因此添加进去即可
如果是existing interpreter都发生这个错误的话,请去系统变量PATH中添加anaconda的两条路径
另一个方法就是创建项目的时候,把new environment下面的inherit global site-packages勾上,也能解决问题