非常奇怪的python vs.ipython差异

时间:2018-09-07 09:09:13

标签: python anaconda ipython

我目前正在为python和ipython的不同行为而head之以鼻。

背景:我想玩tensorflow,并按照一些在线资源的说明,我安装了anaconda3,它将处理所有事情。我对Anaconda并不是特别熟悉,只是按照说明进行操作。

现在,我创建了一个虚拟环境(在下面的示例中为xyzzy)。然后,在此环境中,我调用了一个交互式python shell,并尝试导入numpy,pandas和tensorflow。

(xyzzy) countermode@peppermint:~$ python
Python 3.6.6 |Anaconda, Inc.| (default, Jun 28 2018, 17:14:51) 
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pandas'
>>> import numpy as np
>>> import tensorflow as tf
>>> 

好吧,虽然实际上已安装,但似乎无法访问熊猫。

无论如何,现在与ipython相同:

(xyzzy) countermode@peppermint:~$ ipython
Python 3.6.6 |Anaconda custom (64-bit)| (default, Jun 28 2018, 17:14:51) 
Type 'copyright', 'credits' or 'license' for more information
IPython 6.5.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import pandas as pd

In [2]: import numpy as np

In [3]: import tensorflow as tf
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-3-64156d691fe5> in <module>()
----> 1 import tensorflow as tf

ModuleNotFoundError: No module named 'tensorflow'

所以现在tensorflow似乎消失了,熊猫导入工作正常。

嗯...这是怎么回事?为什么会看到这种现象?而我该如何解决呢?

补充信息

这一切都发生在Linux Mint上,更新了系统,anaconda以及由它维护的所有软件包都已更新,环境中的所有软件包均已更新。我没有干预任何事情。

结论

在虚拟环境中安装ipython之后,两个shell都“同意”它们的行为。

1 个答案:

答案 0 :(得分:1)

这个问题可能是this的重复/相关。

您可能已全局安装了ipython,因此未使用虚拟环境。要解决此问题:

  1. 激活venv
  2. 使用pip在venv中安装ipython

如果激活了venv,则现在应该在venv中使用ipython版本。