我已使用pip和conda安装的模块无法在Sublime或Atom中导入,但可以使用Jupyter Notebook(有时甚至是Terminal)导入。

帕特里克

问题:
当我使用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。另一个可能有用的事实是,当我尝试通过安装nibabel时pip install nibabel,似乎已经安装了。但是,当我编写一个程序时,只是import nibabel说它不能使用Terminal或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版本的问题
其他论坛帖子中也有类似的问题,有人建议问题可能出在作者运行的是两个版本的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”。

姆科斯特拉克

看来您在Jupyter和Atom中使用了conda,但在终端中却没有使用。如果运行conda env list,将获得conda环境的列表。默认情况下,它使用base并通过查看您的PATH来使用编辑器。

要在终端中输入该环境,请运行conda activate base之后,运行pip install nibabel(或conda install nibabel)。您应该能够从终端运行脚本并使用从Atom运行的库。

顺便说一句,似乎您的conda安装并没有真正更改您的.bash_rc文件,因为默认情况下它没有加载基本环境。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章