#python #anaconda #virtualenv #conda
#python #anaconda #virtualenv #conda
Вопрос:
Недавно я обнаружил эту проблему, но я не помню, чтобы эта проблема возникала раньше:
Если я создал новую среду с именем test
, установил python и пакет, который не предустановлен в базовой среде, например, netCDF
:
(base) $ conda create -n test
(base) $ source activate test
(test) $ conda install python
(test) $ conda install -c conda-forge netcdf4
Но в командной строке, похоже, она все еще использовала python базовой среды:
(test) $ which python
/mypath/anaconda3/bin/python
Итак, в оболочке python не удалось импортировать netcdf
:
(test) $ python
>>> import netCDF4
ModuleNotFoundError: No module named 'netCDF4'
Но в моей IDE (например, jupyter notebook) она работает хорошо. Он успешно использует python в test
среде, потому что он может импортировать netCDF
без каких-либо проблем:
[1] import netCDF4 (in jupyter, it is imported successfully)
Почему произошла эта ситуация? Почему я был в test
среде, но все еще использовал python base
среды?
Любое предложение полезно. Большое спасибо!
Комментарии:
1. Как насчет того, чтобы
conda create -n test python=3.6
или дажеconda create -n test python=3.6 anaconda
установить Python вместе с новым env?2. @S3DEV Спасибо, но это все равно не удалось…
3. возвращает ли следующее что-нибудь? : (тест) $ который python3
4. @BastienHarkins Он по-прежнему возвращает тот же результат. Результаты
(test) $ which python
,(test) $ which python3
и(base) $ which python
идентичны.5. @merv Большое спасибо за вашу помощь! Я до сих пор не выяснил причину, по которой неправильный путь добавляется к ПУТИ после
source activate as2
. Мое альтернативное решение (но жестокое) — создать скриптreset_python_path.sh
в/Dellwork4/cwullu/anaconda3/envs/as2/etc/conda/activate.d
, чтобы сбросить путь python на правильный, а также восстановить исходную настройку вdeactivate.d
. Это грязное решение, но, по крайней мере, оно может работать сейчас.
Ответ №1:
$ conda create --name test python=3.7
$ conda activate test
$ which python
Вывод: /home/user/miniconda3/envs/test/bin/python