أنا مطور لغة بايثون وعادةً ما أعمل مع مستودعات متعددة في أي وقت. معظم هذه المشاريع لها تبعيات مختلفة لذلك أقوم بإنشاء بيئة افتراضية في كل مشروع. أفضّل إنشاء بيئة افتراضية بجوار الكود مباشرةً. يكتشفه Pycharm أيضًا عند فتح المستودع في Pycharm.
يعمل هذا الإعداد في معظم الأوقات ولكن في بعض الأحيان، أقوم بتنشيط venv لمستودع واحد ثم تغييره إلى مستودع آخر دون تغيير تنشيط البيئة الصحيحة. عادة ما ألاحظ ذلك عندما يفشل تنفيذ التعليمات البرمجية ولا أضيع أكثر من دقيقة في هذا الأمر، ولكن هذا يجعلني أفكر دائمًا ماذا لو كان هناك غلاف يمكنه تشغيل شيء ما عند إدخال الدليل؟
قررت تنفيذ شيء بسيط في برنامج Shell النصي مؤقتًا. انتهى بي الأمر بإنشاء وظيفة صغيرة، مستعارة من القرص المضغوط وتمت إضافتها في .bashrc الخاص بي.
إنها وظيفة بسيطة وكل ما احتاجه. إنه كذلك،
كنت على ما يرام مع عدم إلغاء تنشيط/إعادة ضبط البيئة عندما خرجت من الدليل.
أضف الوظيفة أدناه في .bashrc وستتمكن من استخدامها.
ملاحظة: إذا قمت بإنشاء بيئتك الافتراضية باسم مختلف، فيرجى تغيير الاسم في الكود أدناه.
function cd() { # Run a shell `cd` command or error command cd "$@" || return # If .venv exists in the directory if [[ -d .venv ]]; then # Deactivate any initialized virtual env, ignore error deactivate > /dev/null 2>&1 # activate .venv source .venv/bin/activate echo "deactivate prev venv and activate current venv" fi # Load a .cdenv file if [[ -f .cdenv ]]; then echo "loading .cdenv" source ./.cdenv fi }
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3