python - কোন মডিউল pkg_resources নামে




django virtualenv (20)

CentOS 6 এ প্যাকেজটি ইনস্টল করে পিনথন-সেটআপসুল সেট করে।

yum install python-setuptools

আমি একটি dev সার্ভারে একটি Django অ্যাপ্লিকেশন স্থাপন করছি এবং যখন আমি পাইপ ইনস্টলেশনের প্রয়োজনীয়তা চালাচ্ছি তখন এই ত্রুটিটি আঘাত করছি। Text:

Traceback (most recent call last):
  File "/var/www/mydir/virtualenvs/dev/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

pkg_resources setuptools সঙ্গে বিতরণ করা প্রদর্শিত হবে। প্রাথমিকভাবে আমি ভার্চুয়ালেন-এ পাইথনটিতে ইনস্টল করা নাও হতে পারে তাই আমি নিম্নলিখিত কমান্ডের সাথে ভার্চুয়ালেনভ-এ পাইথন সাইট-প্যাকেজগুলিতে setuptools (2.6, একই সংস্করণ পাইথন) ইনস্টল করেছি।

sh setuptools-0.6c11-py2.6.egg --install-dir /var/www/mydir/virtualenvs/dev/lib/python2.6/site-packages

এই শুধুমাত্র ভার্চুয়ালেনভ ভিতরে ঘটতে সম্পাদনা করুন। ভার্চুয়ালেনভের বাইরে একটি কনসোল খুললে pkg_resources উপস্থিত থাকে

কিন্তু আমি এখনও একই ত্রুটি পেয়েছি। কোন ধারণা কেন pkg_resources পাথ উপর নয়?


Opensuse উপর 42.1 নিম্নলিখিত এই সমস্যা সংশোধন করা হয়েছে:

zypper in python-Pygments

আমার উবুন্টু বিল্ড আপডেট করার পর এই সমস্যার মধ্যে দৌড়ে গেলাম। মনে হচ্ছে এটি আমার সমস্ত ভার্চুয়াল পরিবেশগুলিতে সেটআপ সরঞ্জামগুলি সরিয়ে ফেলেছে।

এটিকে সমাধান করার জন্য আমি ভার্চুয়াল এনভায়রনমেন্টটি টার্গেট ডিরেক্টরিতে আবার ইনস্টল করেছি। এই সেটআপ সরঞ্জাম অনুপস্থিত পরিষ্কার এবং জিনিস আবার চলমান পেয়েছিলাম।

উদাহরণ:

~/RepoDir/TestProject$ virtualenv TestEnvironmentDir

আমার ক্ষেত্রে, আমার প্রথম 2 টি পাইথন সংস্করণ ইনস্টল হয়েছিল এবং পরে আমি পুরানোটি মুছে ফেললাম। তাই ভার্চুয়াল পরিবেশ তৈরি করার সময়

virtualenv venv

আনইনস্টলকৃত পাইথন উল্লেখ করা হয়

আমার জন্য কি কাজ

python3 -m virtualenv venv

আপনি পিপ ব্যবহার করার চেষ্টা করছেন যখন একই সত্য।


আমার জন্য, এই ত্রুটিটি ঘটেছে কারণ আমার "সাইট" নামক একটি উপ-নির্দেশিকা ছিল! আমি জানি না এটি একটি পিপ বাগ বা না, তবে আমি শুরু করেছি:

/some/dir/requirements.txt / কিছু / dir / সাইট /

পিপ ইনস্টল -আর প্রয়োজনীয়তা.txt কাজ করবে না, আমাকে উপরের ত্রুটি প্রদান!

"সাইট" থেকে "src" এ সাবফোল্ডারকে পুনরায় নামকরণ সমস্যাটি স্থির করেছে! হয়তো পাইপ "সাইট প্যাকেজ" খুঁজছেন? ক্রেজি।


আমার জন্য, এটি site-packages একটি অনুমতি সমস্যা হতে পারে। যেহেতু এটি শুধুমাত্র আমার ডেভ পরিবেশ, আমি অনুমতি উত্থাপিত এবং সবকিছু আবার কাজ করছে:

sudo chmod -R a+rwx /path/to/my/venv/lib/python2.7/site-packages/

আমি আগে এই ত্রুটি ছিল এবং সর্বোচ্চ রেট উত্তর ez_setup.py ফাইল ডাউনলোড করার চেষ্টা করে একটি ত্রুটি দিয়েছে। আমি অন্য উৎস খুঁজে পেয়েছি যাতে আপনি কমান্ড চালাতে পারেন:

curl http://peak.telecommunity.com/dist/ez_setup.py | python

আমি এটি কাজ করার জন্য আমি sudo ব্যবহার করতে হবে, পাওয়া যায়, তাই আপনি চালানোর প্রয়োজন হতে পারে:

sudo curl http://peak.telecommunity.com/dist/ez_setup.py | sudo python

আমি স্ক্রিপ্ট থেকে ডাউনলোড করা যেতে পারে যে অন্য অবস্থান তৈরি করেছেন:

https://gist.github.com/ajtrichards/42e73562a89edb1039f3


আমি আজ পাশাপাশি এই সমস্যা ছিল। আমি শুধুমাত্র ভার্চুয়াল env ভিতরে সমস্যা পেয়েছিলাম।

আমার জন্য সমাধান ভার্চুয়াল env নিষ্ক্রিয় করা হয়েছে, মুছে ফেলা এবং তারপর পিপ দিয়ে ভার্চুয়ালেনভ আনইনস্টল করা এবং এটি পুনরায় ইনস্টল করা। তারপরে আমি আমার প্রকল্পের জন্য একটি নতুন ভার্চুয়াল env তৈরি করেছি, তারপরে স্বাভাবিক পরিবেশে পিক ভার্চুয়াল পরিবেশের ভিতরে উভয় সূক্ষ্ম কাজ করে।


আমি এই উত্তর জুড়ে এসেছি যখন আমি OSX এর জন্য এই নির্দেশিকাটি অনুসরণ করার চেষ্টা করছিলাম। python get-pip easy_install pip চালানোর পরে আমার জন্য কি কাজ ছিল, আমাকেও easy_install pip করতে হয়েছিল। যে সব পিপ চালানোর সক্ষম হচ্ছে না সমস্যা ঠিক। আমি ইনস্টল পুরানো ম্যাকপোর্ট উপাদান একটি গুচ্ছ আছে। যে দ্বন্দ্ব হতে পারে।


আমি এই কাজ করে ভার্চুয়ালভ সঙ্গে ত্রুটি সংশোধন করা হয়েছে:

কপি করা হয়েছে pkg_resources.py থেকে

/Library/Python/2.7/site-packages/setuptools

থেকে

/Library/Python/2.7/site-packages/

এটি একটি সস্তা কাজকর্ম হতে পারে, কিন্তু এটি আমার জন্য কাজ করে।

যদি সেটআপ সরঞ্জামগুলি বিদ্যমান না থাকে তবে আপনি সিস্টেম-সাইট-প্যাকেজগুলি virtualenv --system-site-packages /DESTINATION DIRECTORY সিস্টেম-সাইট-প্যাকেজ virtualenv --system-site-packages /DESTINATION DIRECTORY টাইপ করে চেষ্টা করতে পারেন, আপনি যে ডিরেক্টরিটি ইনস্টল করতে চান তা শেষ অংশটি পরিবর্তন করে। pkg_rousources.py lib / python2.7 / সাইট-প্যাকেজগুলির মধ্যে সেই ডিরেক্টরির মধ্যে থাকবে


আমি পাইথন 2.7.14 এর জন্য পাইপ ইনস্টল করার জন্য সহজ-ইনস্টল ব্যবহার করলেও একই সমস্যা ছিল। আমার জন্য সমাধানটি ছিল (সেরা হতে পারে না তবে এটি আমার জন্য কাজ করে এবং সম্ভবত এটি সর্বাপেক্ষা সহজ) যে ফোল্ডারটিতে সহজ easy-install.py অন্তর্ভুক্ত ফোল্ডার রয়েছে pkg_resources ফোল্ডার pkg_resources এবং আমি এই ফোল্ডারটি অনুলিপি করে pkg_resources একই ফোল্ডার যেখানে আমার pip-script.py স্ক্রিপ্ট ছিল ( python27\Scripts )। তারপরে, আমি এটি python27\Lib\site-packages\pip-9.0.1-py2.7.egg\pip\_vendor ফোল্ডারেও খুঁজে python27\Lib\site-packages\pip-9.0.1-py2.7.egg\pip\_vendor , এটি pip-script.py ফাইলটি সংশোধন করার জন্য একটি ভাল সমাধান হতে পারে এই আমদানি করতে।



একটু বেশি দরকার সুডো। তারপর পাইপ ইনস্টল করতে easy_install ব্যবহৃত। কাজ করে।

sudo wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python
sudo easy_install pip

এটা আমার ঘটেছে। ভার্চুয়ালেনভ setuptools ব্যবহার করে প্রয়োজনীয়তা.txt এ একটি "বিতরণ" এন্ট্রি থাকলে সমস্যাটি ঘটবে বলে মনে হয়। পিপ বিতরণ জন্য রুম করতে setuptools প্যাচ চেষ্টা করবে, কিন্তু দুর্ভাগ্যবশত এটি অর্ধেক পথ ব্যর্থ হবে।

সহজ সমাধানটি আপনার বর্তমান ভার্চুয়ালভিকে মুছে ফেলতে পারে এবং তারপর --distribute যুক্তি সহ একটি নতুন ভার্চুয়ালভ তৈরি করে।

ভার্চুয়ালেনভ্র্যাপার ব্যবহার করে একটি উদাহরণ:

$ deactivate
$ rmvirtualenv yourenv
$ mkvirtualenv yourenv --distribute
$ workon yourenv
$ pip install -r requirements.txt

দেখে মনে হচ্ছে তারা বিটব্লিট থেকে সরে গেছে এবং এখন জিথবুব ( https://github.com/pypa/setuptools ) -এ রয়েছে।

রান করার কমান্ড হল:

wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python

পোস্ট কোন উত্তর আমার জন্য কাজ, তাই আমি পাইপ পুনরায় ইনস্টল এবং এটি কাজ!

sudo apt-get install python-setuptools python-dev build-essential 

sudo easy_install pip 

pip install --upgrade setuptools

(রেফারেন্স: http://www.saltycrane.com/blog/2010/02/how-install-pip-ubuntu/ )


যদি আপনি পাইথন 3 ব্যবহার করেন, তবে পিপ এর বদলে পিপ 3 ব্যবহার করুন। কমান্ড $ pip3 install requirements.txt মত দেখাচ্ছে


শুধু আপনার setuptools পুনরায় ইনস্টল করুন:

$ sudo wget https://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz#md5=7df2a529a074f613b509fb44feefefe74e
$ tar -zxvf setuptools-0.6c11.tar.gz
$ cd setuptools-0.6c11/
$ sudo python setup.py build
$ sudo python setup.py install
$ sudo pip install --upgrade setuptools

তারপর সবকিছু জরিমানা হবে।


ImportError: pkg_resources নামক কোনও মডিউল নেই: সমাধানটি নিম্নোক্ত কমান্ড ব্যবহার করে পাইথন পাইপটি পুনরায় ইনস্টল করতে হয়।

পদক্ষেপ: 1 রুট ব্যবহারকারী লগইন করুন।

sudo su root

পদক্ষেপ: 2 বিদ্যমান থাকলে পাইস্টন-পাইপ প্যাকেজ আনইনস্টল করুন।

apt-get purge -y python-pip

ধাপ: 3 wget কমান্ড ব্যবহার করে ফাইল ডাউনলোড করুন (পিউডিতে ফাইল ডাউনলোড করুন)

wget https://bootstrap.pypa.io/get-pip.py

পদক্ষেপ: 4 পাইথন ফাইল চালান।

python ./get-pip.py

পদক্ষেপ: 5 Finaly ইনস্টলেশন কমান্ড exicute।

apt-get install python-pip

নোট: ব্যবহারকারী রুট হতে হবে।


জুলাই 2018 আপডেট

অধিকাংশ মানুষ এখন pip install setuptools ব্যবহার করা উচিত (সম্ভবত sudo সঙ্গে)।

কিছু প্যাকেজ ম্যানেজার ( apt-get install , yum install , ইত্যাদি) এর মাধ্যমে python-setuptools প্যাকেজ ইনস্টল করতে (পুনরায়) ইনস্টল করতে হবে।

এই সমস্যাটি আপনার ওএস এবং ডে পরিবেশের উপর অত্যন্ত নির্ভরশীল হতে পারে। উপরে উল্লেখিত উত্তরাধিকার / অন্যান্য উত্তরগুলি যদি আপনার জন্য কাজ না করে তবে দেখুন।

ব্যাখ্যা

এই ত্রুটি বার্তা একটি অনুপস্থিত / ভাঙ্গা পাইথন setuptools প্যাকেজ দ্বারা সৃষ্ট হয়। প্রতি ম্যাট এম এর মন্তব্য এবং setuptools # 581 ইস্যু করা হয়েছে , নীচে উল্লেখিত বুটস্ট্র্যাপ স্ক্রিপ্টটি আর প্রস্তাবিত ইনস্টলেশন পদ্ধতি নয়।

বুটস্ট্র্যাপ স্ক্রিপ্টের নির্দেশাবলী নীচে থাকলেও, এটি যেকোনও উপকারী।

উত্তরাধিকার উত্তর

পিপ ব্যবহার করার চেষ্টা করার সময় আমি একই ImportError সম্মুখীন আজ। যেভাবেই আমার পাইথন পরিবেশে setuptools প্যাকেজ মুছে ফেলা হয়েছে।

সমস্যা সমাধানের জন্য, setuptools জন্য সেটআপ স্ক্রিপ্টটি setuptools :

wget https://bootstrap.pypa.io/ez_setup.py -O - | python

(অথবা যদি আপনি wget ইনস্টল না করেন (যেমন ওএস এক্স), চেষ্টা করুন

curl https://bootstrap.pypa.io/ez_setup.py | python

সম্ভবত sudo সঙ্গে prepended।)

আপনার যদি distribute কোন সংস্করণ থাকে, বা 0.6 এর নীচে কোনও setuptools থাকে তবে আপনাকে প্রথমে এটি আনইনস্টল করতে হবে। *

আরও বিস্তারিত জানার জন্য ইনস্টলেশন নির্দেশাবলী দেখুন।

* আপনার যদি ইতিমধ্যে একটি distribute , তবে এটি "সামঞ্জস্যপূর্ণ wrapper" তে আপগ্রেড করা যা setuptools আপনাকে setuptools সহজতর করে। কিন্তু যদি জিনিষ ইতিমধ্যে ভাঙা হয়, যে চেষ্টা করবেন না।





pip