我用 pip 和 conda 安装的模块在 Sublime 或 Atom 中不可导入,但可以使用 Jupyter Notebook(有时是终端)导入
Modules I've installed with pip and conda are not importable in Sublime or Atom, but can be imported using Jupyter Notebook (and sometimes 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。另一个可能有用的事实是,当我尝试通过 pip install nibabel
安装 nibabel 时,它似乎可以安装。但是,当我编写一个简单地写 import nibabel
的程序时,它 not 无法使用 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 查找包的路径上。
其他一些论坛帖子也有类似的问题,有些人认为问题可能出在作者 运行ning 两个版本的 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
我的电脑是 运行ning "MacOS Mojave Version 10.14.2".
您似乎在 Jupyter 和 Atom 中使用了 conda,但没有在您的终端中使用。
如果你 运行 conda env list
,你会得到一个 conda 环境的列表。默认情况下,它使用 base
并通过查看您的 PATH,这就是您的编辑器中使用的。
要在终端中进入该环境,运行 conda activate base
。之后,运行pip install nibabel
(或conda install nibabel
)。您应该能够从终端 运行 您的脚本并使用来自 Atom 的库 运行ning。
顺便说一句,您的 conda 安装似乎并没有真正改变您的 .bash_rc
文件,因为默认情况下它没有加载基础环境。
问题:
当我 运行 以下代码使用 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
的程序时,它 not 无法使用 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 查找包的路径上。
其他一些论坛帖子也有类似的问题,有些人认为问题可能出在作者 运行ning 两个版本的 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
我的电脑是 运行ning "MacOS Mojave Version 10.14.2".
您似乎在 Jupyter 和 Atom 中使用了 conda,但没有在您的终端中使用。
如果你 运行 conda env list
,你会得到一个 conda 环境的列表。默认情况下,它使用 base
并通过查看您的 PATH,这就是您的编辑器中使用的。
要在终端中进入该环境,运行 conda activate base
。之后,运行pip install nibabel
(或conda install nibabel
)。您应该能够从终端 运行 您的脚本并使用来自 Atom 的库 运行ning。
顺便说一句,您的 conda 安装似乎并没有真正改变您的 .bash_rc
文件,因为默认情况下它没有加载基础环境。