Я изучаю Python и загружаю его с Anaconda в Ubuntu (изучаю Linux тоже). Когда я создаю среду conda, она генерирует каталог с именем env следующим образом: /home/user/anaconda3/envs/myenv1
Когда я активирую среду и запускаю свой редактор (VScode), я затем выбираю интерпретатор из активной среды. Когда я сохраняю свой файл .py, нужно ли мне сохранять его в каталоге среды? Эта папка содержит другие папки и пакеты, которые помещает туда conda. Если мне нужен пакет из этой среды, а папка моего проекта не находится в каталоге myenv1, он не сработает?
До тех пор, пока вы не находитесь в среде, т.е. среда не активирована, у вас будет доступ ко всем пакетам, установленным в среде conda. Запустите файл python внутри среды. Нет необходимости размещать ваш проект в среде.
Перейдите в каталог своего проекта, затем откройте терминал или откройте терминал в VSCode, затем введите эту команду
conda activate myenv1
Если среда активирована, она будет отображаться в левой части приглашения bash, например
(myenv1) username: /path/to/project $
Потом,
python my_script.py
Итак, я могу создать проект и должным образом структурировать его в другом каталоге, но я всегда должен помнить об активации среды для конкретного проекта. У меня будет доступ только к пакетам, установленным в этой конкретной среде, либо из conda, либо из того, что я установил вручную. Это весело и в то же время вызывает у меня головную боль. Спасибо за разъяснение и облегчение головной боли!
@AndresRolonViera Хорошо, что вы поняли. Среды пригодятся, когда вы работаете над несколькими проектами и хотите разделить пакеты.
Нет, вам не нужно сохранять какие-либо файлы в папке виртуальной среды. Как только среда активирована, она действует как независимая среда. Но помните, что вам придется снова установить все пакеты, которых нет в Conda.
это будет работать . вы можете оставить его за пределами env. все, что вам нужно сделать, это связать путь к среде в настройках VScode этого проекта. env создаются только для того, чтобы вносить изменения в среду python этого проекта, не влияя на общую среду python (conda one), которая используется другим проектом.