Ошибка импорта: невозможно импортировать arff в рабочем состоянии

Я создаю virtualenvs под именем py4all. И я устанавливаю scipy, numpy и liac-arff.

Когда я вхожу в py4all с помощью cd ~/.virtualenvs/py4all, я использую python и могу импортировать arff.

Когда я вызываю py4all с использованием workon, я не могу импортировать arff. Но используя тот же метод, я могу импортировать scipy и numpy.

Я ввожу py4all, используя cd ~/.virtualenvs/py4all, и пытаюсь установить arff, система показывает

Requirement already satisfied (use --upgrade to upgrade): liac-arff in /usr/local/lib/python2.7/site-packages

Я понимаю, что могу использовать arff без использования workon, но мой numpy и scipy устанавливается в py4all, а не в системный python. Какой самый простой способ решить эту проблему?

1 ответ

Правильный способ подготовить новый virtualenv:

  1. Создать новую виртуальную среду;
  2. Активируйте эту новую виртуальную среду, используя workon (если вы используете обертку) или скрипт активации;
  3. Установите нужные пакеты, т.е. pip install;
  4. Деактивировать окружающую среду.

Теперь, когда вы захотите использовать пакеты из созданной среды:

  1. Активируйте эту новую виртуальную среду, используя workon или скрипт активации;
  2. Импортируйте нужные пакеты в интерактивную оболочку или свой скрипт;
  3. Отключите окружающую среду, когда закончите.

В вашем конкретном случае, если scipy и numpy уже установлены в окружении, просто активируйте его и установите там liac-arff. После этого каждый раз, когда вы будете использовать (импортировать) эти пакеты, когда среда активна, python будет использовать пакеты из среды вместо системных пакетов python.

Другие вопросы по тегам