أواجه مشكلة ببساطة في تنشيط بيئة base
. هذا مقتطف من وصفتي:
- uses: conda-incubator/setup-miniconda<strong i="7">@v2</strong>
with:
auto-update-conda: true
auto-activate-base: true
activate-environment: base
- run: conda info
- run: conda env update -n base --file environment.yaml
انا احصل
Error: To activate "base" environment use the "auto-activate-base" action input!
كيف يمكنني تحسينه ليعمل بالفعل؟
استبدل ب:
- uses: conda-incubator/setup-miniconda<strong i="6">@v2</strong>
with:
environment-file: environment.yaml
activate-environment: <name stated in environment.yaml>
auto-activate-base: false
- run: conda info
شكرا jaimergp . ماذا عن حالة عدم وجود اسم بيئة محدد في environment.yaml
؟
ألا يمكنك إضافة أي اسم للملف؟ إذا لم يكن موجودًا في الريبو الخاص بك ، فربما يتم تصحيحه بـ echo "name: test" >> environment.yaml
قبل استخدام setup-miniconda
؟
jaimergp بالتأكيد يمكنني إضافة وصفة CI نفسها. لا أحب القيام بذلك بشكل عام ، أعتقد أنه من غير الضروري تحديد الاسم في ملف البيئة ، وبقدر ما أعلم أنه من الجيد تمامًا أن لا تحدده Conda.
على نطاق أوسع ، ألا يجب أن يكون الإجراء قادرًا على التعامل مع الإعداد الخاص بي أيضًا؟
مرحبا @ tdegeus شكرا على التقرير. jaimergp لا يمكنني التذكر الآن إذا أضفنا الاسم "test" افتراضيًا إلى ملف yaml إذا لم يكن الاسم موجودًا هناك.
نحن بحاجة إلى التحقق مرة أخرى.
يبدو بالفعل أن اسم البيئة "الافتراضي" هو test
في هذه الحالة goanpeca . ولكن مع الأوامر أعلاه ، ما زلت لا أحصل على بيئة نشطة بشكل صحيح. فيما يلي تفاصيل https://github.com/tdegeus/shelephant/pull/12
steps:
- uses: actions/checkout<strong i="9">@v2</strong>
- uses: conda-incubator/setup-miniconda<strong i="10">@v2</strong>
with:
environment-file: environment.yaml
activate-environment: test
auto-activate-base: false
- run: conda info
مخرجات الأمر الأخير:
active environment : None
user config file : /home/runner/.condarc
populated config files : /home/runner/.condarc
conda version : 4.8.3
conda-build version : not installed
python version : 3.8.3.final.0
virtual packages : __glibc=2.27
base environment : /usr/share/miniconda (writable)
channel URLs : https://conda.anaconda.org/conda-forge/linux-64
https://conda.anaconda.org/conda-forge/noarch
https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /home/runner/conda_pkgs_dir
envs directories : /usr/share/miniconda/envs
/home/runner/.conda/envs
platform : linux-64
user-agent : conda/4.8.3 requests/2.23.0 CPython/3.8.3 Linux/5.4.0-1031-azure ubuntu/18.04.5 glibc/2.27
UID:GID : 1001:116
netrc file : None
offline mode : False
في الواقع ، إذا نظرت إلى الأسطر التي تثبت الحزم في environment.yaml
، يتم إخراج ذلك
# To activate this environment, use
#
# $ conda activate test
#
# To deactivate an active environment, use
#
# $ conda deactivate
مما يشير إلى أن البيئة لم يتم تفعيلها.
tdegeus نظرًا لكيفية عمل إجراءات github ، فأنت بحاجة إلى تحديد وسيطات إضافية للإجراءات كما هو موضح في README للأصداف المختلفة.
- name: Conda info
shell: bash -l {0}
run: conda info
إذا لم تستخدم shell: bash -l {0}
بافتراض أنك تستخدم bash ، فلن يتمكن الإجراء من تنشيط البيئات بشكل صحيح.
هذا قيد معروف ، يمكنك قراءة المزيد هنا
goanpeca لذا يجب أن أفعل ذلك لكل سطر أريد استخدام البيئة فيه؟
من قبل ، استخدمت بعض الإجراءات التي لم يكن لها هذا القيد:
- uses: s-weigand/setup-conda<strong i="8">@v1</strong>
- run: conda --version
- run: conda env update -n base --file environment.yaml
تضمين التغريدة
لذا يجب أن أفعل ذلك في كل سطر أريد استخدام البيئة فيه؟
نعم أو استخدم غلافًا افتراضيًا إذا كانت جميع خطواتك ستستخدم نفس الصدفة ، كما هو موضح في:
https://docs.github.com/ar/free-pro-team@latest/actions/reference/workflow -syntax-for-github-Actions # jobsjob_iddefaultsrun
من قبل ، استخدمت بعض الإجراءات التي لم يكن لها هذا القيد:
نعم ، هذا الإجراء لا ينشط البيئات بشكل صحيح.
tdegeus https://github.com/conda-incubator/setup-miniconda/pull/96 يضيف معلومات حول ما شرحته في التعليق.
أعتقد أنه يمكننا إغلاق القضية. إذا لم يكن الأمر كذلك ، فالرجاء إخبارنا بما يمكننا فعله لتحسين الإجراء.
شكرا مرة أخرى على ردود الفعل :-)
عظيم @ goanpeca ، شكرا للمساعدة والعلاقات العامة !!
إذا كان بإمكاني تقديم تجربة شخصية في الملف التمهيدي أثناء إغلاق هذا السؤال:
test
، لا أعتقد أنني وجدت ذلك في أي مكان.
التعليق الأكثر فائدة
عظيم @ goanpeca ، شكرا للمساعدة والعلاقات العامة !!
إذا كان بإمكاني تقديم تجربة شخصية في الملف التمهيدي أثناء إغلاق هذا السؤال:
test
، لا أعتقد أنني وجدت ذلك في أي مكان.