我目前正在为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都“同意”它们的行为。
答案 0 :(得分:1)
这个问题可能是this的重复/相关。
您可能已全局安装了ipython,因此未使用虚拟环境。要解决此问题:
如果激活了venv,则现在应该在venv中使用ipython版本。