ویکیپیڈیا:پائی ویکی بوٹ/بیرونی لائبریریوں کی تنصیب
پائی ویکی بوٹ |
---|
بسا اوقات پائی ویکی بوٹ کے ساتھ دوسری لائبریریوں کے استعمال کی ضرورت بھی پیش آجاتی ہے جسے لوکل مشین پر استعمال کرنا بہت سہل ہے لیکن ٹول فورج (bastion) میں پپ نصب نہ ہونے کی بنا پر دوسری لائبریریوں کا استعمال دشوار ہو جاتا ہے۔ اس دشواری کا آسان حل یہ ہے کہ آپ اپنے ٹول کھاتے میں ایک مجازی انوائرنمنٹ (virtual environment) یا مختصراً venv تخلیق کر لیں جہاں پپ بآسانی نصب ہو جائے گا اور بعد ازاں آپ اپنی مطلوبہ لائبریریاں بسہولت نصب کر سکیں گے۔ پائی ویکی بوٹ کے ساتھ دوسری لائبریریوں میں سب سے زیادہ مستعمل لائبریری mwparserfromhell ہے جو میڈیاویکی کے صفحات کی تجزیہ کاری کو خاصا آسان بنا دیتی ہے۔
طریقہ کار
ترمیمٹول فورج میں لاگ ان ہونے کے بعد become TOOLNAME
کی مدد سے اپنے ٹول کھاتے میں جائیں اور حسب ذیل کمانڈ لکھیں:
virtualenv -p python3 venv
اس کمانڈ کو چلانے کے بعد آپ کے ٹول کھاتے میں ایک مجازی انوائرنمنٹ قائم ہو جائے گا اور venv
کے نام سے ایک نئی دائرکٹری دکھائی دے گی۔ بعد ازاں اس مجازی انوائرنمنٹ کو فعال کرنے یا بالفاظ دیگر اس میں جانے کے لیے درج ذیل کمانڈ درکار ہوتی ہے:
source venv/bin/activate
اسے چلاتے ہی شیل پرومپٹ پر بین القوسین venv لکھا نظر آئے گا جو اس کا اشارہ ہے کہ آپ اب اپنے مجازی انوائرنمنٹ میں داخل ہو چکے ہیں۔ اب پپ کو نصب کریں:
pip install --upgrade pip
کچھ ہی ثانیوں میں پپ نصب ہو جائے گا اور پھر مثلاً mwparserfromhell لائبریری نصب کے لیے حسب ذیل کمانڈ چلائیں:
pip install mwparserfromhell
اگر آپ کسی دوسری لائبریری کو نصب کرنا چاہتے ہیں تو اوپر درج کمانڈ میں mwparserfromhell کی جگہ اس کا نام درج کریں۔
طریقہ استعمال
ترمیمان تمام کمانڈ کو کامیابی سے چلانے کے بعد آپ کا ٹول کھاتا بیرونی لائبریری کے استعمال کے لیے تیار ہو گیا ہے جسے اب پائی ویکی بوٹ کے ساتھ استعمال کر سکتے ہیں۔ چنانچہ جب بھی کسی ایسی اسکرپٹ کو چلانا مقصود ہو جس میں دوسری لائبریری کو درآمد کیا گیا ہے تو اسی مجازی انوائرمنٹ میں داخل ہو کر چلائیں۔ اس مجازی انوائرنمنٹ میں داخل ہونے کے لیے یہ کمانڈ لکھیں:
source venv/bin/activate
اور بعد ازاں حسب معمول اپنی اسکرپٹ چلائیں، مثلاً
python core/pwb.py SCRIPTNAME
خودکار استعمال
ترمیمجس اسکرپٹ کو آپ مجازی انوائرنمنٹ سے چلاتے ہیں اسے کران (cron) کی مدد سے خودکار طور پر چلانے کے لیے ایک عدد بیش فائل .sh
فائل بنانی پڑے گی جس کا ایک نمونہ حسب ذیل ہے۔ اس کی مدد سے آپ اپنی دوسری مطلوبہ اسکرپٹ کو بھی بآسانی چلا سکتے ہیں۔
#!/bin/bash
source ~/www/python/venv/bin/activate
export PYTHONIOENCODING=utf8
python3 /data/project/TOOLNAME/core/pwb.py SCRIPTNAME
اگر اس مجازی انوائرنمنٹ میں کسی اسکرپٹ کو خودکار طور پر چلانے میں یہ نقص پیش آئے:
'\r': command not found
تو حسب ذیل کمانڈ کی مدد سے اپنی مطلوبہ اسکرپٹ کی یہ خامی دور کر لیں:
sed -i 's/\r$//' SCRIPTNAME