在我当前环境中的包的ImportError

问题描述:

我想恢复一些旧的IPython笔记本并将它们更新到Python 3.我试图让它们在旧环境中首先工作并发现棘手的难题,在我的包中获取ImportErrors目前的环境。我正在进行Anaconda Python安装。在我当前环境中的包的ImportError

我开始我的笔记本电脑先导航到我的项目的文件夹:

cd /folder/of/project 

然后:

jupyter notebook 

我创建了一个新的笔记本电脑,这里是从!conda list内的笔记本电脑的摘录和我得到的错误:

# packages in environment at /anaconda2: 
# 

... 
Delorean     0.6.0      <pip> 
... 
pylint     1.7.2   py27h718c7e7_0 
pymongo     3.4.0     py27_0 
pyodbc     4.0.17   py27hc9de18c_0 
... 

显然,p感兴趣的环境,Deloreanpymongo,都在环境中。 pymongo原本是通过conda安装的,但Delorean只能通过pip安装。

[1] import pymongo

ImportError        Traceback (most recent call last) 

<ipython-input-2-ec8fdd1cd630> in <module>() 
----> 1 import pymongo 


ImportError: No module named pymongo 

[2] from delorean import Delorean

ImportError        Traceback (most recent call last) 

<ipython-input-3-2b02cbe45080> in <module>() 
----> 1 from delorean import Delorean 


ImportError: No module named delorean 

我已经尝试了这个使用畅达创建以及在默认环境中的各种虚拟环境。我看了*上的各种问题,仍然没有解决方案。

在回应评论,这里是jupyter的路径和Python:

$ which jupyter 

/anaconda2/bin/jupyter 

$ which python 

/anaconda2/bin/python 

要复合的奥秘,试图导入从蟒蛇外壳包装由@Sraw的建议,完美的作品。

$ python 
Python 2.7.13 |Anaconda custom (x86_64)| (default, Sep 21 2017, 17:38:20) 
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import pymongo 
>>> from delorean import Delorean 
>>> 

因此,该问题仅限于jupyter笔记本电脑内。

+0

很确定您不会在正确的环境中运行您的脚本。你如何开始? – jbndlr

+0

你是否在同一个环境中启动你的'jupyter'而不是另一个环境? – Sraw

+0

谢谢,我编辑了我的问题来描述我如何启动笔记本。即使我不使用虚拟环境,错误也会重复。 – gauden

我已解决此问题。它是由我试图搭配不同的Python 2和3版本以及多个试用虚拟环境而创建的。我已经结束了针对所有用户的旧用户特定的anaconda安装和新的anaconda根。这一发现是通过发现

import sys 
sys.path 

给不同的报告,当我跑这从Python的外壳和里面的笔记本制造。

我清除了用户特定的anaconda安装,重新安装了最新的anaconda版本,添加了相关的软件包,并安装了并行ipython内核(as described here)。

该问题已得到解决,并充当了保持root python安装清洁并正确使用虚拟环境的重要性的一课。