Очень странное расхождение между питоном и ipython - PullRequest
0 голосов
/ 07 сентября 2018

Я сейчас ломаю голову над разным поведением для 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 в виртуальной среде обе оболочки "согласились" на свое поведение.

1 Ответ

0 голосов
/ 07 сентября 2018

Этот вопрос, возможно, является дубликатом / относится к этому .

Вы, вероятно, установили ipython глобально и поэтому не используете виртуальную среду. Чтобы это исправить:

  1. активировать venv
  2. установить ipython в venv используя pip

Если venv активирован, теперь он должен использовать версию ipython внутри venv.

...