مرحبا @ ma-sadeghi ، شكرا على الكلمات الرقيقة واستخدام العمل :)
يبدو أن إعداد conda بمفرده يستغرق وقتًا أطول من المعتاد.
هل تغير هذا في أي إصدار أحدث؟ متى لاحظت بدأت في ملاحظة هذا؟
فقط أتساءل حتى نتمكن من تحديد أي مشكلة محتملة.
@ conda-incubator / setup-miniconda-team هل لاحظت أي شيء مشابه كما هو موصوف؟
نفس المشكلة بالنسبة لي باستخدام mamba (بدون تثبيت deps أثناء الإجراء) ومع أحدث إصدار v2.
bollwyvl يمكنني استخدام تصحيح أخطاء هذا اليد
في حال كان ذلك مفيدًا (لا يمكنني مشاركة السجلات):
steps:
- name: Checkout the code
uses: actions/checkout<strong i="6">@v2</strong>
- name: Cache conda
uses: actions/cache<strong i="7">@v1</strong>
env:
CACHE_NUMBER: 2
with:
path: ~/conda_pkgs_dir
key: conda-${{ runner.os }}-${{ env.CACHE_NUMBER }}-${{ hashFiles('env.yml') }}
- name: Setup conda
uses: conda-incubator/setup-miniconda<strong i="8">@v2</strong>
with:
mamba-version: "*"
channels: conda-forge,defaults
channel-priority: true
use-only-tar-bz2: true
شكرا hadim على المثال. سيضيف PR للتحقق من التغييرات التي أدخلت الانحدار.
مرحبا @ ma-sadeghi ، شكرا على الكلمات الرقيقة واستخدام العمل :)
يبدو أن إعداد conda بمفرده يستغرق وقتًا أطول من المعتاد.
هل تغير هذا في أي إصدار أحدث؟ متى لاحظت بدأت في ملاحظة هذا؟
فقط أتساءل حتى نتمكن من تحديد أي مشكلة محتملة.
@ conda-incubator / setup-miniconda-team هل لاحظت أي شيء مشابه كما هو موصوف؟
أنا متأكد تقريبًا من أنه كان أسرع كثيرًا في المرة الأولى التي استخدمت فيها هذا الإجراء ، بعيدًا عن أعلى رأسي ، ربما استغرق الأمر دقيقة واحدة أو نحو ذلك لإعداد conda ، والآن الساعة 3:30 دقيقة. مشروعنا عام ، وقد مضى بعض الوقت منذ أن استخدمنا هذا الإجراء ، لذا لا تتردد في التحقق من سجلاتنا في حال كان ذلك يساعد في تصحيح المشكلة: https://github.com/PMEAL/OpenPNM/actions
من السجلات المرتبطة:
Tue, 10 Nov 2020 21:09:23 GMT /usr/share/miniconda/condabin/conda update conda
Tue, 10 Nov 2020 21:09:54 GMT Collecting package metadata (repodata.json): ...working... done
Tue, 10 Nov 2020 21:10:07 GMT Solving environment: ...working... done
Tue, 10 Nov 2020 21:11:56 GMT
Tue, 10 Nov 2020 21:11:56 GMT ## Package Plan ##
لذلك لدينا ، بطريقة غير علمية إلى حد ما:
الشيء الوحيد الذي يمكنني التفكير فيه هو إضافة conda-forge
، مما يضع المحول في حالة زيادة مع حزم 10k + إضافية (وجميع إصداراتها).
بعض الخيارات ، من أعلى رأسي:
auto-update-conda
إلى false
conda-lock
conda-update-channels: defaults
::group::Boring stuff
::endgroup::
بحيث يسهل تتبع دورة حياة المستوى الأعلى للأوامر التي يديرها هذا الإجراء (اضطررت إلى إزالة الغبار عن الباندا الخاصة بي للقيام ببعض مهام التوقيت)micromaba
(مرة أخرى ، توفير حل للزوجين) https://github.com/conda-incubator/setup-miniconda/issues/75#issuecomment -698024879لما يستحقه معظم الوقت الذي يقضيه في تثبيت mamba:
التكوين المرتبط:
- name: Cache conda
uses: actions/cache<strong i="9">@v2</strong>
env:
CACHE_NUMBER: 3
with:
path: ~/conda_pkgs_dir
key: conda-${{ runner.os }}-${{ env.CACHE_NUMBER }}-${{ hashFiles('env.yml') }}
- name: Setup conda
uses: conda-incubator/setup-miniconda<strong i="10">@v2</strong>
with:
python-version: 3.7
mamba-version: "*"
channels: conda-forge,defaults
channel-priority: true
use-only-tar-bz2: true
activate-environment: nova
هل من الممكن استخدام شيء مثل micromamba بدلاً من miniconda أو miniforge؟
بالنظر إلى التفاصيل ، فإن خطوة الحل هي ما تستغرق 99٪ من الوقت.
إذا تمت معالجة هذه المشكلة ، فسيوفر مسار miniforge هذا افتراضيًا: د
أؤكد أن مثبت MambaForge الذي تم إصداره مؤخرًا يجعل CI أسرع:
- name: Setup conda
uses: conda-incubator/setup-miniconda<strong i="6">@v2</strong>
with:
installer-url: https://github.com/conda-forge/miniforge/releases/download/4.9.2-2/Mambaforge-Linux-x86_64.sh
channel-priority: true
use-only-tar-bz2: true
activate-environment: my-env
- name: Anaconda Login
run: |
# Bypass the installation of anaconda-client
TOKEN_DIR="$HOME/.config/binstar"
TOKEN_PATH="$TOKEN_DIR/https%3A%2F%2Fapi.anaconda.org.token"
mkdir -p $TOKEN_DIR
echo -e "${ANACONDA_USER_TOKEN}\c" > $TOKEN_PATH
- name: Install Dependencies
run: mamba env update -f env.yml
(يتضمن المقتطف أيضًا طريقة لتسجيل الدخول إلى الأناكوندا دون الحاجة إلى تثبيت anaconda-client
. قد يكون مفيدًا للبعض هنا.)
كيف تلعب بـ mamba-version
؟ هل هناك حاجة؟ هل تحتاج إلى التحقق مما إذا كان mamba
موجود بالفعل؟
سؤال جيد وأنا في الواقع لا أعرف. يقوم المثبت الجديد بشحن mamba
بشكل افتراضي وأنا أستخدمه مباشرة بدون mamba-version
.
أحتاج إلى تسجيل الدخول أولاً إلى anaconda أولاً (انظر المقتطف) حتى لا أعتمد على setup-conda
لتثبيت env الخاص بي.
أعتقد أنه إذا كنت تريد استخدام setup-conda
لتثبيت ملف env ، فيجب تعديل setup-conda
للتحقق بالفعل من mamba وتجاوز التثبيت إذا كان موجودًا.
ربما يمكن لشخص من @ conda-incubator / setup-miniconda-team أن يؤكد أم لا؟
هناك الكثير من القطع المتحركة التي تظهر الآن أكثر من مجرد _استخدام ما هو موجود على القرص_ مقابل _ احصل على مُثبِّت من عنوان URL بمخطط تمكنا من توقعه لمدة نصف عقد_ ، وسلوك الكود الحالي w / r / t إلى mamba
يصعب التفكير فيه.
سأراهن ، إذا قدمت mamba-version
، فسيظل _لا يزال _ سيحاول تثبيت mamba
من conda-forge
، حتى لو كان موجودًا بالفعل ، و _لا يزال_ استخدم conda
لكل شيء _ باستثناء_ حل البيئة (على سبيل المثال conda config
). هذه من شأنها أن تهزم معظم المكاسب التي تحققت بالفعل على القرص ، وبعد التثبيت. نظرًا لأن برنامج التثبيت هذا مع mamba
لم يكن موجودًا حتى 13 ساعة مضت ، لم تكن هذه مشكلة ... تفكيري هو أننا سنحتاج على الأرجح إلى شيء مثل conda-exe: mamba
إذا كنت _ تعرف_ أنه بالفعل مثبتة ، حتى لو كانت _is_ متوفرة ، فقد لا ترغب في استخدامها ، وغدًا قد تكون هناك الأداة التالية ( lambada
، tarantala
) من Next Installer.
على أي حال ، شعرت أن إصلاح بعض هذه المشكلات يتطلب إعادة هيكلة جذرية جدًا ... في # 107 (التي أصبحت # 108 ، # 109 ، ... قيد المراجعة) بذلت قصارى جهدنا لإعدادنا لـ The Next X ، حيث يمكن أن يكون X ملفًا واحدًا / اثنين PR. نأمل أن نصل إلى حيث يمكننا البدء في إضافة ميزات ومعالجة الأداء ، لكنني أخشى أن عدم معالجة الدين الفني الحالي أولاً سيجعل الوضع أسوأ.
يدعم conda-incubator/setup-miniconda@master
الآن (لفترة) الجمع بين:
miniforge-variable: Mambaforge
use-mamba: true
والتي يجب أن تجيب في الغالب على البريد هنا ... إلى الحد الذي يمكن فيه تثبيت conda + python + mamba الكامل. حصل Micromamba على الكثير من التحديثات مؤخرًا ، لكنني ما زلت غير قادر على تقييمه فيما إذا كنا نريد دعمه / اختباره إلى نفس المستوى مثل مقدمي الخدمات الآخرين ، حتى الآن ...
التعليق الأكثر فائدة
هناك الكثير من القطع المتحركة التي تظهر الآن أكثر من مجرد _استخدام ما هو موجود على القرص_ مقابل _ احصل على مُثبِّت من عنوان URL بمخطط تمكنا من توقعه لمدة نصف عقد_ ، وسلوك الكود الحالي w / r / t إلى
mamba
يصعب التفكير فيه.سأراهن ، إذا قدمت
mamba-version
، فسيظل _لا يزال _ سيحاول تثبيتmamba
منconda-forge
، حتى لو كان موجودًا بالفعل ، و _لا يزال_ استخدمconda
لكل شيء _ باستثناء_ حل البيئة (على سبيل المثالconda config
). هذه من شأنها أن تهزم معظم المكاسب التي تحققت بالفعل على القرص ، وبعد التثبيت. نظرًا لأن برنامج التثبيت هذا معmamba
لم يكن موجودًا حتى 13 ساعة مضت ، لم تكن هذه مشكلة ... تفكيري هو أننا سنحتاج على الأرجح إلى شيء مثلconda-exe: mamba
إذا كنت _ تعرف_ أنه بالفعل مثبتة ، حتى لو كانت _is_ متوفرة ، فقد لا ترغب في استخدامها ، وغدًا قد تكون هناك الأداة التالية (lambada
،tarantala
) من Next Installer.على أي حال ، شعرت أن إصلاح بعض هذه المشكلات يتطلب إعادة هيكلة جذرية جدًا ... في # 107 (التي أصبحت # 108 ، # 109 ، ... قيد المراجعة) بذلت قصارى جهدنا لإعدادنا لـ The Next X ، حيث يمكن أن يكون X ملفًا واحدًا / اثنين PR. نأمل أن نصل إلى حيث يمكننا البدء في إضافة ميزات ومعالجة الأداء ، لكنني أخشى أن عدم معالجة الدين الفني الحالي أولاً سيجعل الوضع أسوأ.