Не удается активировать среду CONDA с ​​помощью пакетного скрипта - PullRequest
0 голосов
/ 30 марта 2020

У меня есть python скрипт, который я пытаюсь запускать ежедневно, используя Windows Task Scheduler. Основываясь на некоторых потоках SO, я написал пакетный скрипт и создал задачу планировщика. Я использую Anaconda в качестве виртуальной среды и версия 4.5.11. Когда я запускаю сценарий python из «Anaconda Prompt» или «Windows CMD», он работает просто отлично.

Однако, когда я использую пакетный скрипт для выполнения моего python скрипта из "Windows CMD", он не может найти мою предполагаемую среду conda.

Вот мой пакетный скрипт,

set original_dir=%CD%
set conda_root_dir=C:\Anaconda3\Scripts
call %conda_root_dir%\activate.bat
cd C:\Anaconda3\Scripts
call activate yttv_crawler
python "C:\__ Work Station\Py_Projects\YT_TV_Crawler\index.py"
call deactivate
cd %original_dir%
exit /B 1

После запуска пакетного сценария вручную из CMD для целей тестирования я получаю это -

C:\Users\aafaysal\Desktop>yt_tv_crawler.bat
C:\Users\aafaysal\Desktop>set original_dir=C:\Users\aafaysal\Desktop
C:\Users\aafaysal\Desktop>set venv_root_dir=C:\Anaconda3\envs\yttv_crawler
C:\Users\aafaysal\Desktop>set conda_root_dir=C:\Anaconda3\Scripts
C:\Users\aafaysal\Desktop>call C:\Anaconda3\Scripts\activate.bat
(base) C:\Users\aafaysal\Desktop>cd C:\Anaconda3\Scripts
(base) C:\Anaconda3\Scripts>call activate yttv_crawler
Could not find conda environment: yttv_crawler
You can list all discoverable environments with `conda info --envs`.
(base) C:\Anaconda3\Scripts>python "C:\__ Work
Station\Py_Projects\YT_TV_Crawler\index.py"
Traceback (most recent call last):
File "C:\__ Work Station\Py_Projects\YT_TV_Crawler\index.py", line 1, in
<module> 
from data_access_layer import save_videos
File "C:\__ Work Station\Py_Projects\YT_TV_Crawler\data_access_layer.py",
line 1,
in <module> import pymysql
ModuleNotFoundError: No module named 'pymysql'
(base) C:\Anaconda3\Scripts>call deactivate
C:\Anaconda3\Scripts>cd C:\Users\aafaysal\Desktop
C:\Users\aafaysal\Desktop>exit /B 1

Но мой conda среда существует.

(base) C:\Users\aafaysal>conda --version
conda 4.5.11
(base) C:\Users\aafaysal>conda info --envs
# conda environments:
#
base                  *  C:\Anaconda3
iqtools                  C:\Anaconda3\envs\iqtools
yttracker                C:\Anaconda3\envs\yttracker
yttv_crawler             C:\Anaconda3\envs\yttv_crawler

Вот список переменных среды системного пути.

enter image description here

Пожалуйста, помогите мне.

NB: я знаю, что есть много подобных вопросов, и я почти все проверил / попробовал и до сих пор не смог это исправить.

...