我在导入 PyDictionary 库时遇到问题
Posted
技术标签:
【中文标题】我在导入 PyDictionary 库时遇到问题【英文标题】:I am having a trouble importing the PyDictionary library 【发布时间】:2021-07-30 02:43:13 【问题描述】:基本上,我使用pip install PyDictionary
下载了该库,并通过再次编写相同的内容来确保它存在,然后出现了:
Requirement already satisfied: PyDictionary in c:\users\ziad\appdata\local\programs\python\python39\lib\site-packages (2.0.1)
Requirement already satisfied: bs4 in c:\users\ziad\appdata\local\programs\python\python39\lib\site-packages (from PyDictionary) (0.0.1)
Requirement already satisfied: goslate in c:\users\ziad\appdata\local\programs\python\python39\lib\site-packages (from PyDictionary) (1.5.1)
Requirement already satisfied: requests in c:\users\ziad\appdata\local\programs\python\python39\lib\site-packages (from PyDictionary) (2.25.1)
Requirement already satisfied: click in c:\users\ziad\appdata\local\programs\python\python39\lib\site-packages (from PyDictionary) (7.1.2)
Requirement already satisfied: beautifulsoup4 in c:\users\ziad\appdata\local\programs\python\python39\lib\site-packages (from bs4->PyDictionary) (4.9.3)
Requirement already satisfied: soupsieve>1.2 in c:\users\ziad\appdata\local\programs\python\python39\lib\site-packages (from beautifulsoup4->bs4->PyDictionary) (2.2.1)
Requirement already satisfied: futures in c:\users\ziad\appdata\local\programs\python\python39\lib\site-packages (from goslate->PyDictionary) (3.1.1)
Requirement already satisfied: idna<3,>=2.5 in c:\users\ziad\appdata\local\programs\python\python39\lib\site-packages (from requests->PyDictionary) (2.10)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\users\ziad\appdata\local\programs\python\python39\lib\site-packages (from requests->PyDictionary) (1.26.4)
Requirement already satisfied: chardet<5,>=3.0.2 in c:\users\ziad\appdata\local\programs\python\python39\lib\site-packages (from requests->PyDictionary) (4.0.0)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\ziad\appdata\local\programs\python\python39\lib\site-packages (from requests->PyDictionary) (2020.12.5)
但是,当我尝试在 atom 中运行这个简单的程序时,它说找不到模块。 这是程序:
from PyDictionary import PyDictionary
dictionary = PyDictionary()
print (dictionary.meaning("indentation"))
这是错误:
Traceback (most recent call last):
File "C:\Users\Ziad\Desktop\programs\Dictionary.py", line 1, in <module>
from PyDictionary import PyDictionary
ModuleNotFoundError: No module named 'PyDictionary'
我发现正确执行程序的唯一方法是将文件移动到库所在的文件夹中,以便 atom 可以找到该库。奇怪的是图书馆 numpy 完美地工作。 我真的很想知道这个问题的答案。
【问题讨论】:
您的设备上可能安装了多个版本的 Python。您使用什么命令来启动失败的脚本?另外,您运行的是什么操作系统? python3 Dictionary.py 。我正在运行 Windows 10 好的,如果您发出命令python3 -m pip list
,那么您要使用的软件包是否会显示在那里?如果不是,那么您之前发出的pip
命令没有“连接”到您启动脚本时使用的python3
解释器。
另外,由于您运行的是 Windows,那么您也许还可以使用“python 启动器”来检查您的安装。您可以通过发出命令来尝试:py -0 --list
这应该列出启动器知道的所有安装。
是的,它没有显示,所以我该如何解决。我是初学者,所以请耐心等待。
【参考方案1】:
输入这个
python -m pip install --upgrade pip setuptools wheel
确保包含空格。 那么:
C:/Python36/Scripts/pip install Pydictionary
注意事项: 您正在为特定的 python 版本安装 PyDictionary,以查看您在终端上安装的 python 版本,键入 py 并按 enter 然后在 Python36 上输入您的版本...确保在名称 Python、Scripts 上使用大写字母...我遇到了同样的问题,我安装了 python27 版本。
【讨论】:
【参考方案2】:您遇到的问题是您的pip
命令未连接到您安装的python3
。
如果您使用的是 Windows,那么您应该有一个“python 启动器”,您可以使用它来仔细检查您安装的 Python 版本,如下所示:
PS C:\> py -0
Installed Pythons found by C:\windows\py.exe Launcher for Windows
-3.9-64 *
-3.7-32
在这里您可以看到我的设备上安装了两个版本的 Python。所以,让我们检查一下这两个安装使用他们自己的pip
版本安装了什么。
让我们从我的3.7
安装开始:
PS C:\> py -3.7 -m pip list
Package Version
------------------ ---------
beautifulsoup4 4.8.1
Jinja2 2.11.2
keyring 21.2.0
在这里我们可以看到我安装了三个包。
现在让我们检查一下我的3.9
安装:
PS C:\> py -3.9 -m pip list
Package Version
-------------------------------- ---------
matplotlib 3.4.1
numpy 1.19.4
pandas 1.1.5
pip 21.0.1
我在上面所做的基本上是调用不同的python
安装,并使用以下标志打开它:
-m mod : run library module as a script (terminates option list)
pip
命令基本上只是<python-installation> -m pip
的别名,所以当我发出上述命令时,我正在启动带有特定 python 安装的pip
。
如果您没有我上面示例中的“python-launcher”,但您的 python 解释器有不同的别名,那么您可以以相同的方式发出相同的命令,只需使用您的别名。
这里有几个例子:
# will show you the installed packages for the alias "python2"
python2 -m pip list
# will show you the installed packages for the alias "python3"
python3 -m pip list
您显然可以使用相同的逻辑向pip
发出其他命令,因此如果您想为特定版本安装软件包,您可以执行以下操作:
# will try to install the given package for the alias "python3"
python3 -m pip install <nameOfPackage>
【讨论】:
我实际上在我的 PC 上搜索了另一个已安装的 python 版本,但我什么也没找到。感谢您帮助我,但这不是问题的原因。但是,我尝试运行此python3 -m pip list
,但它只显示了 numpy。这是什么意思?
这意味着您的python3
安装上安装的唯一软件包是numpy
。因为您有另一个 pip
与您正在使用的安装包不同,所以 100% 在您的设备上的某个地方安装了另一个 python,即 pip 命令的“所有者”在你的路径中。如果你想在python3
中安装你的包,那么只需发出这个命令:python3 -m pip install PyDictionary
。
非常感谢您的帮助,先生,您对其他现有 PIP 的看法完全正确。我不知道为什么,只是将python3 -m
添加到PIP install PyDictionary
就可以了。也许,我的电脑正在将该 PIP 分配给另一个版本的 python 而不是 python3。
没问题的人。如果您的问题已得到解答,请不要犹豫,接受我的回答以使问题得到解决。以上是关于我在导入 PyDictionary 库时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章
在我的 React.js 应用程序中导入 D3.js 库时出错