【发布时间】:2019-02-03 19:48:44
【问题描述】:
问题:
当我使用 Atom 或 Sublime 运行以下代码时:
import quandl
df = quandl.get('WIKI/GOOGL')
print(df)
我收到以下错误:
Traceback (most recent call last):
File "/Users/patrick/Desktop/Untitled.py", line 1, in <module>
import quandl
ImportError: No module named quandl
[Finished in 0.3s with exit code 1]
[shell_cmd: python -u "/Users/patrick/Desktop/Untitled.py"]
[dir: /Users/patrick/Desktop]
[path: /Library/Frameworks/Python.framework/Versions/3.7/bin:/anaconda3/bin:/anaconda3/condabin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin]
*我删除了输出中出现的姓氏。
然而,当我通过以下代码在终端中运行相同的代码(文件名为 Untitled.py)时:
$ cd Desktop
$ python Untitled.py
我打印了一个数据框(根据需要),所以 quandl 显然是导入的。另一个可能有用的事实是,当我尝试通过pip install nibabel 安装 nibabel 时,它似乎安装了。但是当我编写一个简单地说import nibabel 的程序时,它是不可使用终端或Sublime 导入的。这是终端中的错误代码:
Traceback (most recent call last):
File "Untitled.py", line 1, in <module>
import nibabel
ModuleNotFoundError: No module named 'nibabel'
这是 Sublime 中的错误代码(已删除姓氏):
Traceback (most recent call last):
File "/Users/patrick/Desktop/Untitled.py", line 1, in <module>
import nibabel
ImportError: No module named nibabel
[Finished in 0.3s with exit code 1]
[shell_cmd: python -u "/Users/patrick/Desktop/Untitled.py"]
[dir: /Users/patrick/Desktop]
[path: /Library/Frameworks/Python.framework/Versions/3.7/bin:/anaconda3/bin:/anaconda3/condabin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin]
但是,当我打开 Anaconda Navigator,选择 Jupyter Notebook,然后运行相同的代码 In [1]: import nibabel 时,它可以正常工作并且没有抛出任何错误。
总之,用 pip 和 conda 导入 quandl 让我可以使用 Jupyter Notebook 和 Terminal,但不能使用 Atom 或 Sublime。但是,仅使用 pip 导入 nibabel(conda 不提供)允许我将其导入 Jupyter Notebook,但不能导入 Terminal、Atom 或 Sublime。
似乎相关的论坛帖子和我尝试过的解决方案:
我发现似乎是我的问题的 Windows 版本,但我不确定如何使解决方案适应 Mac 文件系统。 @Biker_Coder (Mani) 似乎认为问题出在 python 在其中查找包的路径上。
Windows version of my problem
其他一些论坛帖子也有类似的问题,有些人认为问题可能是作者运行了两个版本的 Python。这听起来不像是我的问题,因为我最近才开始使用 Python,而且我认为我没有下载它的两个版本。在其他一些论坛中,人们幸运地将“quandl”更改为“Quandl”,反之亦然。这对我不起作用。事实上,我很确定这与 quandl 无关,因为安装和导入 nibabel 会导致相同的问题。
感谢所有阅读本文的人,无论您是否知道解决方案。强>
可能有用的系统信息:
这就是我的全部问题,但如果有帮助,这里有一些额外的信息。
当我打开 IDLE 并运行 >>> import sys 然后运行 >>>print(sys.path) 时,我得到以下输出(我再次删除了我的姓氏):
['', '/Users/patrick/Documents', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python37.zip', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages']
当我在终端中输入$ python --version 时,它会输出Python 3.7.2
我的电脑正在运行“MacOS Mojave 版本 10.14.2”。
【问题讨论】:
标签: python package anaconda python-idle