আমি যখন পাইথন দেব প্যাকেজ ইনস্টল করি তখন বলুন python-numpy
ফাইলগুলি সরল পাইথন ফাইল are আমি প্যাকেজ ম্যানেজারকে কীভাবে বলব - যে আমি আসলে পাইক ফাইল বা তার থেকেও আরও ভাল - পিও ফাইল ব্যবহার করব?
আমি যখন পাইথন দেব প্যাকেজ ইনস্টল করি তখন বলুন python-numpy
ফাইলগুলি সরল পাইথন ফাইল are আমি প্যাকেজ ম্যানেজারকে কীভাবে বলব - যে আমি আসলে পাইক ফাইল বা তার থেকেও আরও ভাল - পিও ফাইল ব্যবহার করব?
উত্তর:
ভাল-প্যাকেজযুক্ত পাইথন অ্যাপ্লিকেশনগুলি .pyc
ফাইলগুলি ইনস্টল হওয়ার পরে স্ক্রিপ্টে চালিত ফাইলগুলিতে সংকলন করা হচ্ছে । আপনি যে মুহূর্তে ব্যবহার করছেন পাইথন ইনস্টলেশনটি গ্রহণ করতে সক্ষম হতে প্যাকেজিং নির্দেশিকা অনুসারে এটির প্রয়োজন। মনে রাখবেন যে .pyc
ফাইলগুলি আপনার সিস্টেমে খুব নির্দিষ্ট (পাইথন সংস্করণ এবং নির্ভরতা)।
সমস্ত .pyo
এবং .pyc
ফাইলগুলি বিশেষত প্যাকেজগুলিতে বাদ দেওয়া হয়েছে এবং লিনটিয়ান দ্বারা ত্রুটি হিসাবে ট্যাগ করা হয়েছে :
সংকলিত পাইথন উত্স ফাইলগুলি অবশ্যই প্যাকেজে অন্তর্ভুক্ত করা উচিত নয়। এই ফাইলগুলি প্যাকেজ থেকে সরানো উচিত এবং পোস্ট-ইনস্টে প্যাকেজ ইনস্টলেশন সময়ে তৈরি করা উচিত।
পড়ুন ডেবিয়ান পাইথন নীতি অধ্যায় 2.6 ( মডিউল বাইট-সংকলন বিস্তারিত জানার জন্য)।
তীব্রতা: গুরুতর, নিশ্চিত: নির্দিষ্ট
python-numpy
এই পোস্ট-ইনস্টল এর ক্ষেত্রে বাইট-সংকলন পাইেন্ট্রালের ডিহেল্পার হুক দ্বারা পরিচালিত হয়। ইনস্টলেশন পরে এটি দেখতে এটির মতো দেখাচ্ছে:
ls -l /usr/lib/python2.7/dist-packages/numpy
lrwxrwxrwx 1 root root 47 Mar 20 2012 add_newdocs.py -> ../../../../share/pyshared/numpy/add_newdocs.py
-rw-r--r-- 1 root root 251912 Aug 6 22:06 add_newdocs.pyc
কেন এই কারণগুলি .pyc
/.pyo
ফাইল প্রথম আবেদন সূচনার সময় রানটাইম এ কম্পাইল করা হয় না যেমন আপনার প্রত্যাশিত নিম্নোক্ত।
পাইথন ফাইলগুলি সিস্টেম-বিস্তৃত ডিরেক্টরিতে ইনস্টল করা থাকে, যা সিস্টেমে সমস্ত ব্যবহারকারীর জন্য উপলব্ধ। যখনই কোনও ব্যবহারকারী অ্যাপ্লিকেশন শুরু করবেন, পাইথন ইন্টারপ্রেটার .py
ফাইলগুলি পড়তে পারেন , তবে এটি ডিরেক্টরিতে (যেমন /usr/lib/python2.7/dist-packages/
) লিখতে পারেন না । এটি সমস্ত লিনাক্স সিস্টেমে সাধারণ সুরক্ষার অংশ; ব্যবহারকারীদের লিখতে হবে না/usr
, শুধুমাত্র মূল অধিকার দিয়ে এটি সম্ভব হওয়া উচিত। এই কারণে, এপিটি হুকগুলি ইনস্টলেশনের সময় পাইথন ফাইলগুলি আপনার জন্য সংকলন করবে; প্রথমে প্যাকেজের আকার হ্রাস করতে, দ্বিতীয়ত পাইথন সম্পর্কিত আপনার সিস্টেমে একবার কিছু পরিবর্তন হলে হুকগুলি পুনরায় চালিত করতে সক্ষম হবেন, উদাহরণস্বরূপ যখন আপগ্রেডের সময় তারা বেমানান হন তখন পুনরায় সংযোগ করা প্রয়োজন।
এটি অবশ্য রানটাইমে নিয়মিত ব্যবহারকারীর মালিকানাধীন পাইথন ফাইলগুলিকে সংক্রামিত করবে না।
/usr/lib/python2.7/dist-packages/numpy
- সেখানে pyc
ফাইল আছে। আমার মনে আছে আমি সেখানে পৃথক স্থাপনাগুলি দেখেছি - এবং সেখানে কেবল সরল পাই ফাইল ছিল। সুতরাং আমি "বাগটি পুনরুত্পাদন করতে পারি না" বাছাই করি।
.pyc
এখনও সেখানে না থাকার একমাত্র কারণ প্যাকেজটি সম্পূর্ণরূপে ইনস্টল করা হয়নি। আনপ্যাক করার পরে আরও অন্যান্য পদক্ষেপ নিতে হবে। আইআইআরসি পাইথন-সেন্ট্রাল হুক সমস্ত প্যাকেজ ইনস্টল করার পরেই চালিত হয়। সুতরাং, প্যাকেজ ইনস্টল করার জন্য একটি চলমান বা বাধিত এপিটি সেশনে আপনার বর্ণিত পর্যবেক্ষণ সম্ভবত করা যেতে পারে।
/usr/share/pyshared/
নিজের কাছে লিখিতযোগ্য হওয়া উচিত - যাতে অজগরটি প্রথমবারের জন্য ফাইলগুলি সংকলন করতে সক্ষম হয়।