ویکیپیڈیا:پائی ویکی بوٹ/بیرونی لائبریریوں کی تنصیب

بسا اوقات پائی ویکی بوٹ کے ساتھ دوسری لائبریریوں کے استعمال کی ضرورت بھی پیش آجاتی ہے جسے لوکل مشین پر استعمال کرنا بہت سہل ہے لیکن ٹول فورج (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

بیرونی روابط

ترمیم