Я сейчас ломаю голову над разным поведением для python и ipython.
Справочная информация: я хочу поиграть с tenorflow, и, следуя инструкциям некоторых онлайн-ресурсов, я установил anaconda3, которая позаботится обо всем. Я не особенно знаком с анакондой и просто следовал инструкциям.
Теперь я создал виртуальную среду (xyzzy в примере ниже). Затем в этой среде я вызвал интерактивную оболочку python и попытался импортировать numpy, pandas и tenorflow.
(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'
Так что теперь импорт панд работает нормально, а тензорный поток исчез.
Хммм ... что здесь происходит? Почему я вижу это поведение? И как я могу решить это?
Дополнительная информация
Все это происходит в Linux Mint, обновляется система, обновляется anaconda и все поддерживаемые ею пакеты, обновляются все пакеты в среде. Я ни с чем не вмешивался.
Заключение
После установки ipython в виртуальной среде обе оболочки "согласились" на свое поведение.