python NLTK导入错误:DLL加载失败:找不到指定的模块

uelo1irk  于 2022-12-21  发布在  Python
关注(0)|答案(7)|浏览(351)

我正在尝试将nltk导入到我的项目中。我已经尝试过通过许多不同的方式安装它,它们都导致了相同的结果。
我试着通过PyCharm上的灯泡安装它,我试着通过项目设置安装模块,我试着通过conda -install nltk安装nltk。我不明白为什么我会得到这个错误:

import nltk    
nltk.download()

C:\Users\Orestis\PycharmProjects\LimeExamples\venv\Scripts\python.exe  
C:/Users/Orestis/PycharmProjects/LimeExamples/hate_tweets.py
Traceback (most recent call last):
  File "C:/Users/Orestis/PycharmProjects/LimeExamples/hate_tweets.py", line 1, in <module>
    import nltk
  File "C:\Users\Orestis\PycharmProjects\LimeExamples\venv\lib\site-packages\nltk\__init__.py", line 152, in <module>
    from nltk.stem import *
  File "C:\Users\Orestis\PycharmProjects\LimeExamples\venv\lib\site-packages\nltk\stem\__init__.py", line 29, in <module>
    from nltk.stem.snowball import SnowballStemmer
  File "C:\Users\Orestis\PycharmProjects\LimeExamples\venv\lib\site-packages\nltk\stem\snowball.py", line 32, in <module>
    from nltk.corpus import stopwords
  File "C:\Users\Orestis\PycharmProjects\LimeExamples\venv\lib\site-packages\nltk\corpus\__init__.py", line 66, in <module>
    from nltk.corpus.reader import *
  File "C:\Users\Orestis\PycharmProjects\LimeExamples\venv\lib\site-packages\nltk\corpus\reader\__init__.py", line 105, in <module>
    from nltk.corpus.reader.panlex_lite import *
  File "C:\Users\Orestis\PycharmProjects\LimeExamples\venv\lib\site-packages\nltk\corpus\reader\panlex_lite.py", line 15, in <module>
    import sqlite3
  File "C:\Users\Orestis\Anaconda3\lib\sqlite3\__init__.py", line 23, in <module>
    from sqlite3.dbapi2 import *
  File "C:\Users\Orestis\Anaconda3\lib\sqlite3\dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ImportError: DLL load failed: The specified module could not be found.
62lalag4

62lalag41#

这不是nltk问题,而是sqlite3问题。错误显示在您的系统中找不到所需的sqlite dll file
一个简单的变通解决方案是根据您的系统配置windows/linuxx64 or x32here下载所需的dll文件,并将其放在:Anaconda\DLLs目录中。
确保Anaconda\DLLs也被添加到路径变量中。

5sxhfpxr

5sxhfpxr2#

即使nltk错误是巨大的,SQLite扮演了一个公平的部分。sqlite.dll文件可能位于某处,所以找到它并将其放置在dll文件夹中。如果没有这样的文件,下载并放置它。

disho6za

disho6za3#

对于将来遇到同样问题的人,只要遵循Pavel Karateev的建议,我就能解决这个问题。我创建了一个普通的conda环境,并在我创建的conda虚拟环境中使用conda -install nltk命令,通过anaconda提示符安装所有的软件包。
据我所知,问题是我创建了一个带有PyCharm UI的venv,使用了水蟒作为基础,这是一个很大的错误!

2sbarzqh

2sbarzqh4#

Rohit解释中的dll的其他位置,您可以尝试:
C:\用户\我的用户名\水蟒3\DLL
或者:C:\程序数据\水蟒3\DLL)
如果你想知道你的脚本是从哪个python位置运行的,在你的脚本中运行以下代码:

import sys
sys.path
mtb9vblg

mtb9vblg5#

简单而有效的方法是从https://www.sqlite.org/download.html下载sqlite3dll。根据操作系统的不同下载64位或32位,然后将其粘贴到C:\Users\USER_NAME\anaconda3\DLL。

pgccezyw

pgccezyw6#

@user5099519和@NIGHT_SHADE的答案组合对我很有效。

问题陈述:DLL文件夹中没有sqlite3。
溶液

  • 步骤1:确定DLL文件夹在哪里。激活conda环境并输入以下命令:
> python
Python 3.7.15 (default, Nov 24 2022, 18:44:54) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path

这将返回多个路径的列表。您搜索术语“DLL”。例如,我的是“C:\Users\username\anaconda 3\envs\conda-env\DLL”。

  • 第2步:从https://www.sqlite.org/download.html下载sqlite3 dll,然后将其解压缩到DLL文件夹。例如,作为64位Windows用户,在Windows预编译二进制文件中,我选择了sqlite-dll-win 64-x64-3400000.zip
yyhrrdl8

yyhrrdl87#

import nltk    
nltk.download('all')

您需要指定模块。另请参见How do I download NLTK data?

相关问题