পাইথনে স্থায়ীভাবে sys.path এ একটি ফাইল পাথ যুক্ত করা হচ্ছে


103

আমার কাছে একটি ফাইল ছিল example_file.py, যা আমি অন্যান্য অন্যান্য ফাইল থেকে ব্যবহার করতে চেয়েছিলাম, তাই আমি ফাইলটি যুক্ত example_file.pyকরতে sys.pathএই ফাইলটি যুক্ত করতে এবং অন্য একটি ফাইলে আমদানি করার সিদ্ধান্ত নিয়েছি । এটি করতে, আমি আইপিথনে নিম্নলিখিতগুলি দৌড়েছি।

import sys
sys.path
sys.path.append('/path/to/the/example_file.py')
print(sys.path)

আমি সবেমাত্র যুক্ত হওয়া পথটি দেখতে পেয়েছি এবং যখন আমি এই ফাইলটিকে অন্য ডিরেক্টরি পথ থেকে এই জাতীয়ভাবে আমদানির চেষ্টা করেছি:

import example_file

এটি ঠিকঠাকভাবে কাজ করেছে, তবে একবার আমি আইপথন থেকে বের হয়ে আবার প্রবেশ sys.pathকরলাম , এবং পরীক্ষা করে দেখলাম যে আমি যে পথটি যুক্ত করেছি তা উপস্থিত ছিল না, তাই আমি কীভাবে পাইথনে স্থায়ীভাবে sys.path এর পথ যুক্ত করব?


4
আপনার কোডকে একটি যথাযথ প্যাকেজ তৈরি করুন, সহজ_ইনস্টলযোগ্য করুন এবং আপনার বাকী জীবনের জন্য খুশী হোন (টিঙ্কিংয়ের পরিবর্তে)। এগুলি ছাড়াও: প্রতিটি ডকুমেন্টেশন আপনাকে পরিষ্কারভাবে বলে দেয় যে sys.path.append()কোনও ফাইল রয়েছে এমন একটি ডিরেক্টরি গ্রহণ করে এবং ফাইলে একক পাঠ্য নয়।
আন্দ্রেয়াস জং



সিস্টেমের পথটিকে বিভ্রান্ত করবেন না PYTHONPATH
বুরহান খালিদ

উত্তর:


99

কয়েকটি উপায় আছে। সবচেয়ে সহজ একটি my-paths.pthফাইল তৈরি করা ( এখানে বর্ণিত হিসাবে )। এটি এক্সটেনশান সহ কেবলমাত্র একটি ফাইল .pthযা আপনি আপনার সিস্টেম site-packagesডিরেক্টরিতে রেখেছেন । ফাইলের প্রতিটি লাইনে আপনি একটি ডিরেক্টরি নাম রেখেছিলেন, যাতে আপনি সেখানে একটি লাইন রাখতে পারেন /path/to/the/এবং এটি সেই ডিরেক্টরিটিকে সেই পথটিতে যুক্ত করবে।

আপনি পাইথোনপথ এনভায়রনমেন্ট ভেরিয়েবলও ব্যবহার করতে পারেন যা সিস্টেম PATH ভেরিয়েবলের মতো তবে এতে ডিরেক্টরিতে যুক্ত করা হবে sys.pathডকুমেন্টেশন দেখুন ।

লক্ষ্য করুন কোন ব্যাপার আপনি কি করবেন, sys.pathরয়েছে ডিরেক্টরি না ফাইল। আপনি "এতে একটি ফাইল যুক্ত করতে পারবেন না sys.path"। আপনি সর্বদা এর ডিরেক্টরি যুক্ত করুন এবং তারপরে আপনি ফাইলটি আমদানি করতে পারেন।


4
ঠিক আছে ধন্যবাদ ঠিক আছে আমি আমার ডিরেক্টরিটি যুক্ত করেছি যা ফাইল এবং এর কাজ নিয়ে গঠিত যখন আমি অন্য স্থান থেকে ফাইলটি আমদানি করলাম, আইপথন থেকে বেরিয়ে এসে সমস্যাটি কিনে ফেলব এবং আমার পথটি পরীক্ষা করার জন্য আবার লুটিয়ে দেখলাম, এটি উপস্থিত হয় না, আমি কোডটি প্রবেশ করানোর সময় প্রত্যেকবার এটি করতে চাই না, আমি ডিরেক্টরি পাতায় sys.path এ ডিরেক্টরিটি যুক্ত করতে চাই, স্থায়ীভাবে কীভাবে এটি করব
শিবকৃষ্ণ বাভান্ডলা

@ কৌরিপম: আপনার মন্তব্যটি পরামর্শ দেয় আপনি আসলে আমার পরামর্শটি অনুসরণ করেননি বা উপরে লিঙ্কযুক্ত নকল পোস্টে দেওয়া পরামর্শগুলি।
ব্রেণবার্ন

4
siteপ্যাকেজ নিখুঁত ছিল।
জিনব আব্বাসিমাজার

8
sys.path.append('C:\\python34\\lib\\site-packages')আপনাকে ধন্যবাদ দিয়ে আমার সমস্যা স্থির !
টাইলারলিডেল

উত্তরোত্তর জন্য: .pthফাইলটিকে সাইট-মডিউল ডকুমেন্টেশন ক বলেছে path configuration file। পাথ কনফিগারেশন ফাইল সম্পর্কে দ্রষ্টব্য:no check is made that the item refers to a directory rather than a file. No item is added to sys.path more than once. Blank lines and lines beginning with # are skipped. Lines starting with import (followed by space or tab) are executed.
মিন ট্রান

1

এইভাবে আমার জন্য কাজ করেছে:

আপনার পছন্দের পথটি যুক্ত করা:

export PYTHONPATH=$PYTHONPATH:/path/you/want/to/add

চেক করা: আপনি 'এক্সপোর্ট' সেন্টিমিডি চালাতে পারেন এবং আউটপুট চেক করতে পারেন বা আপনি এই সেন্টিমিডিটি ব্যবহার করে এটি পরীক্ষা করতে পারেন:

python -c "import sys; print(sys.path)"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.