ভার্চুয়ালেনভের পরিবর্তে বিশ্বব্যাপী সাইট-প্যাকেজগুলিতে পাইপ ইনস্টল করা


103

ব্যবহার pip3একটি প্যাকেজ ইনস্টল করার একটি virtualenvপ্যাকেজ বিশ্বব্যাপী সাইট-প্যাকেজ ইনস্টল করা কারণ পরিবর্তে virtualenv ফোল্ডারে এক ফোল্ডার। ওএস এক্স ম্যাভেরিক্সে (10.9.1) পাইথন 3 এবং ভার্চুয়ালেনভ কীভাবে সেট আপ করব তা এখানে:

আমি হোমব্রু ব্যবহার করে পাইথন 3 ইনস্টল করেছি:

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
brew install python3 --with-brewed-openssl

$PATHভেরিয়েবল এতে পরিবর্তন করেছেন .bash_profile; নিম্নলিখিত লাইন যুক্ত:

export PATH=/usr/local/bin:$PATH

রানিং which python3রিটার্ন /usr/local/bin/python3(শেলটি পুনরায় চালু করার পরে)।

দ্রষ্টব্য: which python3এখনও ফেরত / usr/bin/pythonযদিও।

virtualenvব্যবহার করে ইনস্টল করা pip3:

pip3 install virtualenv

এর পরে, একটি নতুন তৈরি করুন virtualenvএবং এটি সক্রিয় করুন:

virtualenv testpy3 -p python3
cd testpy3
source bin/activate

দ্রষ্টব্য: যদি আমি -p পাইথন 3 নির্দিষ্ট না করি তবে পাইপটি ভার্চুয়ালেনভের বিন ফোল্ডার থেকে হারিয়ে যাবে।

চলমান which pipএবং which pip3উভয়ই ভার্চুয়ালেনভ ফোল্ডারটি ফিরিয়ে দেয়:

/Users/kristof/VirtualEnvs/testpy3/bin/pip3

এখন, যখন আমি অ্যাক্টিভেটেড ভার্চুয়ালেনভে পিপ ব্যবহার করে মার্কডাউন ইনস্টল করার চেষ্টা করব, তখন পাইপটি ভার্চুয়ালেনভের সাইট-প্যাকেজ ফোল্ডারের পরিবর্তে বিশ্বব্যাপী সাইট-প্যাকেজ ফোল্ডারে ইনস্টল করবে।

pip install markdown

চলমান pip listরিটার্ন:

Markdown (2.3.1)
pip (1.4.1)
setuptools (2.0.1)
virtualenv (1.11)

এর উপাদানসমূহ /Users/kristof/VirtualEnvs/testpy3/lib/python3.3/site-packages:

__pycache__/
_markerlib/
easy_install.py
pip/
pip-1.5.dist-info/
pkg_resources.py
setuptools/
setuptools-2.0.2.dist-info/

এর উপাদানসমূহ /usr/local/lib/python3.3/site-packages:

Markdown-2.3.1-py3.3.egg-info/
__pycache__/
easy-install.pth
markdown/
pip-1.4.1-py3.3.egg/
setuptools-2.0.1-py3.3.egg
setuptools.pth
virtualenv-1.11-py3.3.egg-info/
virtualenv.py
virtualenv_support/

আপনি দেখতে পাচ্ছেন, বিশ্বব্যাপী সাইট-প্যাকেজ ফোল্ডারে মার্কডাউন রয়েছে, ভ্যুচুয়ালেনভ ফোল্ডারটি নেই।

দ্রষ্টব্য: আমি পাইথন 2 এবং পাইথন 3 এর আগে আলাদা ভিএম ইনস্টল করেছি ( এই নির্দেশাবলী অনুসরণ করেছি ) এবং পাইথন 3 এর সাথে একই সমস্যা ছিল; পাইথন 2 ভিত্তিক ভার্চুয়ালেনভে প্যাকেজ ইনস্টল করা নির্দোষভাবে কাজ করেছে worked

কোন টিপস, ইঙ্গিত, ... খুব প্রশংসা করা হবে।


পাইপ কোনও প্যাকেজ ইনস্টল করে না এটি ইতিমধ্যে উপলব্ধ থাকলে। আপনার আউটপুটটিতে "প্রয়োজনীয়তা ইতিমধ্যে সন্তুষ্ট" দেখতে হবে। আপনার কাছে নেই এমন একটি প্যাকেজ ইনস্টল করার চেষ্টা করুন। বিটিডাব্লু, পাইপ 3 নন-ব্রিউ পাইথন 3 ব্যবহার করতে পারে (আপনি কীভাবে ইনস্টল করবেন pip3?) এটি নিজে থেকে খারাপ নাও হতে পারে তবে তা থাকলে আপনার সচেতন হওয়া উচিত।
jfs

4
আমার আগে মার্কডাউন ইনস্টল করা হয়নি। বিশ্বব্যাপী প্যাকেজ তালিকাটি খালি ছিল। আমি কোন প্যাকেজ চেষ্টা করি তা বিবেচ্য নয়, আমি প্রতিবারই এই আচরণটি পুনরুত্পাদন করতে পারি।
ƬƠƑসনি

পাইপ 3 সম্পর্কিত: এটি পাইথন 3 এর সাথে একত্রে হোমব্রিউ দ্বারা ইনস্টল করা হয়েছিল।
ƬƠƑসনি

আমার জন্য এটিও সহায়তা করেছে: stackoverflow.com/questions/14695278/… অন্যদের কাছে কেবল এফওয়াইআইয়ের জন্য
নাগরাজ তন্ত্রি

উত্তর:


96

মজার বিষয় আপনি এনেছেন, আমার ঠিক ঠিক একই সমস্যা ছিল। আমি শেষ পর্যন্ত এটি সমাধান করেছি, তবে এর কারণ কী তা এখনও আমি নিশ্চিত নই।

আপনার bin/pipএবং bin/activateস্ক্রিপ্টগুলি পরীক্ষা করে দেখুন । ইন bin/pip, শেবাং তাকান। ইহা কি সঠিক? যদি না হয়, এটি সংশোধন করুন। তারপরে 42আপনার লাইনে line bin/activateআপনার ভার্চুয়ালনেভ পথটি সঠিক কিনা তা পরীক্ষা করে দেখুন। এটি দেখতে এরকম কিছু দেখাবে

VIRTUAL_ENV="/Users/me/path/to/virtual/environment"

যদি ভুল হয়, তবে সংশোধন deactivate, তারপর . bin/activate, এবং যদি আমাদের পারস্পরিক সমস্যা একই কারণ থাকত, তাহলে কাজ করা উচিত। যদি এটি এখনও না করে তবে আপনি সঠিক পথে আছেন way which pipস্ট্যাকের ট্রেস অনুসরণ করে আপনারা যেমন করেছেন , ঠিক তেমন সমস্যা সমাধানের রুটিন আমি পেরেছি went

একেবারে নিশ্চিত করুন

/Users/kristof/VirtualEnvs/testpy3/bin/pip3

আপনি যা চান তা হ'ল, এবং অনুরূপ-নামক একটি পরীক্ষা প্রকল্পের উল্লেখ না করে (আমার সেই সমস্যা হয়েছিল, এবং কীভাবে এটি শুরু হয়েছিল তা আমার কোনও ধারণা নেই My

যদি এর কোনওটিই কাজ না করে তবে জো হোলোয় যেমন বলেছিলেন তেমন একটি অস্থায়ী সমাধান হতে পারে

কেবল তার পুরো পথ দিয়ে ভার্চুয়ালেনভের পাইপটি চালান (অর্থাত্ নির্বাহের পথে অনুসন্ধানের উপর নির্ভর করবেন না) এবং আপনার পরিবেশকে সক্রিয় করার প্রয়োজনও নেই। এটি সঠিক জিনিস করবে।

সম্ভবত আদর্শ নয়, তবে এটি একটি চিমটি মধ্যে কাজ করা উচিত।

আমার মূল প্রশ্নের লিঙ্ক:

ভার্চুয়ালএএনভি / পিপ বিশ্বব্যাপী প্যাকেজ ইনস্টল করার চেষ্টা করছে


4
ধন্যবাদ চেজ আমার পোস্ট করার আগে আমি আপনার প্রশ্নে এসেছি, তবে মনে হচ্ছে শ্যাবাংয়ের উল্লেখ করা শেষ পংক্তিটি আমি এড়িয়ে গেছি। এবং প্রকৃতপক্ষে, এটি #!/usr/local/bin/python3.3পরিবর্তে সেট করা হয়েছিল #!/Users/kristof/VirtualEnvs/testpy3/bin/python3.3। আমি এটি পরিবর্তন করেছি, ভার্চুয়ালেনভকে সক্রিয় করেছি এবং মার্কডাউন প্যাকেজটি ইনস্টল করেছি। পিপ এখন বিশ্বব্যাপী পরিবর্তে ভার্চুয়ালেনভ সাইট-প্যাকেজ ফোল্ডারে ইনস্টল করে।
ƬƠƑসনি

আমি এটির মধ্যে দৌড়েছি, উত্তরের জন্য অনেক ধন্যবাদ। আমি শেবাংগুলি লক্ষ্য করেছি এবং তারপরে তত্ক্ষণাত্ এই প্রশ্নটি পেয়েছি, আমার সন্দেহগুলি নিশ্চিত করে। কেউ কি জানেন যে শেবাংটি ভুল ছিল কেন? স্থায়ী ফিক্সটি পাওয়া ভাল লাগবে তাই প্রতিবার নতুন ভার্চুয়াল পরিবেশ তৈরি করার সময় আমাদের এটি পরীক্ষা করতে হবে না।
উইল

4
আমারও একই সমস্যা ছিল। আমার activateস্ক্রিপ্ট জরিমানা ছিল, কিন্তু হুঁশিয়ার , সবpip* স্ক্রিপ্ট এবং easy_install*স্ক্রিপ্ট ভুল কুঁড়েঘর আছে। এগুলি সবই ম্যানুয়ালি স্থির করতে হবে। আমি পুনরায় ইনস্টল করার পাইপ বা এর মতো অন্য কোনও কিছু দিয়ে সেগুলি ঠিক করতে পারিনি। এছাড়াও জো হোলোয়ের কাজের বিষয়টি সম্পর্কে একটি ব্যাখ্যা: সমস্যাটি পাইপের সন্ধানকারী শেলটির সাথে নয়, এটি সত্য যে পিপ স্পষ্টভাবে ভুল অজগরটি নির্দিষ্ট করে । সুতরাং আপনাকে $ ~/.virtualenvs/venv/bin/python ~/.virtualenvs/venv/bin/pip --version
অজগরটি

আমি --relocatableআমার vভির পরে এই সমস্যাটির মুখোমুখি হয়েছি এবং 42 লাইনটি ভুল, দেখে মনে হচ্ছে --relocatableএটি ঠিক কাজটি করেনি।
শেলবাই

4
আমি যখন একটি মধ্যবর্তী ডিরেক্টরিটির নাম পরিবর্তন করেছিলাম তখন আমার সাথে এটি ঘটেছিল, সুতরাং আমাকে '/ বিন'
-তে

16

আমার কাছে এটি কোনও পাইপ বা ভার্চুয়ালেনভ সমস্যা ছিল না। এটি একটি অজগর সমস্যা ছিল। অনলাইনে কয়েকটি টিউটোরিয়াল অনুসরণ করার পরে আমি আমার $ পাইথনপথটি ম্যানুয়ালি ~ / .bash_profile (বা ~ / .bashrc) এ সেট করেছিলাম। এই ম্যানুয়ালি সেট $ পাইথনপথটি ভার্চুয়ালেনভে উপলব্ধ ছিল কারণ এটি সম্ভবত অনুমতি দেওয়া উচিত।

অতিরিক্তভাবে add2virtualenvভ্যুচুয়ালেনভের মধ্যে কোনও কারণে আমার প্রকল্পের পথটি আমার Y পাইথনপথে যোগ করা হয়নি।

যারা এখনও আটকে থাকতে পারেন তাদের জন্য কেবল কয়েকটি কাঁটা পথ! চিয়ার্স!


11

আমার একই সমস্যা ছিল, আমি ভেন্ট ডিরেক্টরিটি সরিয়ে এবং এটি পুনরায় তৈরি করে সমাধান করেছি!

deactivate (if venv is activated first deactivate it)
rm -rf venv
virtualenv -p python3 venv
. ENV/bin/activate
pip3 install -r requirements.txt

এখন সবকিছু একটি কবজ মত কাজ করে।


আমি যখন ব্যবহার করছিলাম তখন pip3ভার্চুয়ালেনভ, ডিফল্টরূপে, অজগর pip2 ব্যবহার করে পরিবর্তে ব্যবহার করতাম pip3। আমি binখুঁজে পাওয়া যায়নি pip3virtualenv -p python3 venvসমস্যার সমাধান করে ব্যবহার করা।
subtleseeker

এটি আমার সমস্যার সমাধান করেছে। পাইচার্মের স্বয়ংক্রিয় ভার্চুয়ালেনভ সৃষ্টি সঠিকভাবে কাজ করছে না। ম্যানুয়াল ইনস্টলেশন কৌশলটি করেছে। ধন্যবাদ
লোডারন

5

আমারও এই সমস্যা ছিল আমার ম্যাভেরিক্স ম্যাকের পাইথন ৩.৩ ভার্চুয়াল পরিবেশের মধ্যে ডিরেক্টরি pip install <package_name>থেকে কল /binকরার ফলে পাইথন ২.। গ্লোবাল সাইট প্যাকেজ ডিরেক্টরিতে পাইথন প্যাকেজ ইনস্টল করা হয়েছিল। এটি আমার $ PATH ডিরেক্টরিটি সম্বলিত ডিরেক্টরি দিয়ে শুরু হয়েছিল তা সত্ত্বেও এটি ছিল pip। অদ্ভুত। এটি সেন্টোজে ঘটে না। আমার জন্য, সমাধানটির pip3পরিবর্তে কল করছিল pip। আমি যখন ইনস্টল করেছিলেন পিপ মাধ্যমে ভার্চুয়াল পরিবেশের মধ্যে ez_setup , তিন "পিপ" এক্সেকিউটেবল ইনস্টল করা হয়েছে /binডিরেক্টরির - pip, pip3এবং pip3.3। কৌতূহলীভাবে, তিনটি ফাইলই হুবহু এক ছিল। ডাকছেpip3 install <package_name>পাইথন প্যাকেজটি স্থানীয় সাইট-প্যাকেজ ডিরেক্টরিতে সঠিকভাবে ইনস্টল করে। pipভার্চুয়াল পরিবেশে পুরো পথের নাম দিয়ে কল করাও সঠিকভাবে কাজ করেছিল। আমি জানতে আগ্রহী যে আমার ম্যাক কেন $ পাথটি যেভাবে আশা করবে তা ব্যবহার করে না।


5

যাচাই করার জন্য প্রথম জিনিসটি হ'ল কোন পাইপটি সমাধান করছে:

which pip

আপনি যদি কোনও ভার্চুয়ালনেভে থাকেন তবে আপনি এটির মতো কিছু দেওয়ার আশা করতে পারেন:

/পথ / টু / ভার্চুয়ালেনভি / নাম_ফ_ভির্তুয়ালেনভি / বিন / পিপ

তবে এটি এমন পরিস্থিতিতে হতে পারে যে এটি কোনও কারণে আপনার সিস্টেমের পাইপের সাথে সমাধান করছে। উদাহরণস্বরূপ আপনি এটি আপনার ভ্যুচুয়ালেনভের মধ্যে থেকেই দেখতে পাবেন (এটি খারাপ):

/ usr / স্থানীয় / বিন / পিপ (বা যে কোনও জিনিস যা আপনার ভার্চুয়ালেনভ পথে নেই)।

এটি সমাধানের জন্য আপনার পাইপকনফিগটি এতে চেক করুন:

~/.pipconf
~/.conf/pip
/etc/pip.conf

এবং নিশ্চিত করুন যে আপনার পাইথন পথ বা আপনার পাইপ পাথকে জোর করে এমন কোনও কিছুই নেই (এটি এটি আমার জন্য স্থির করে)।

তারপরে একটি নতুন টার্মিনাল শুরু করার চেষ্টা করুন এবং আপনার ভ্যুচুয়ালেনভকে পুনর্নির্মাণ করুন (আবার এটি তৈরি করে মুছুন)


4
এছাড়াও পরীক্ষা /etc/pip.conf! আমারও একই সমস্যা ছিল এবং প্রচুর ডিবাগিংয়ের পরে কেউ এই ফাইলটি নিয়ে গণ্ডগোল করে আমি যে সিস্টেমটি নিয়ে কাজ করেছিলাম সেটি ভুল কনফিগার করেছে।
t.animal

আমি আর্চ লিনাক্স ব্যবহার করছি। আমি মনে করি /etc/pip.conf ওএস দ্বারা সেট আপ করা হয়েছে।
প্র। Qiao

ধন্যবাদ! তুমি আমার দিন বাঁচিয়েছ! এই কনফিগারেশনগুলি ফাইল সিস্টেমে লুকিয়ে থাকা
প্রেতের

4
আমার একটি টার্মিনাল সেশনটি সংজ্ঞায়িত উপন্যাস ছিল যা পাইপকে ওভার রাইড করে, কিছু কারণে which pipএখনও আমাকে সঠিক পথ দিচ্ছিল!
মাত্তেও

4

একটি ভার্চুয়ালেনভের মধ্যে থেকে পাইথন প্যাকেজ ইনস্টল করার সময় আমি একই সমস্যার সমাধান করেছি। আমার ক্ষেত্রে এর মূল কারণটি ছিল আলাদা। ভ্যুচুয়ালেনভের মধ্যে থেকেই, আমি (উবুন্টুর অভ্যাসের বাইরে) ছিলাম:

sudo easy_install -Z <package>

এটি বিন / পাইপ শেবাংকে উপেক্ষা করে এবং এটি বিশ্বব্যাপী সাইট-প্যাকেজগুলিতে এটি ইনস্টল করতে মূলটির নন ভার্চুয়ালেনভ পাইথন ব্যবহার করে। যেহেতু আমাদের ভার্চুয়াল পরিবেশ রয়েছে তাই আমাদের "sudo" ছাড়াই প্যাকেজটি ইনস্টল করা উচিত


4

আমি মাঞ্জারো চলমান একই সমস্যায় হোঁচট খেয়েছি। আমি ব্যবহার ভার্চুয়াল পরিবেশ সৃষ্টি python3 -m ven venvএবং তারপর ব্যবহার সক্রিয় source venv/bin/actiavewhich pythonএবং which pipউভয়ই ভার্চুয়ালেনভের সঠিক বাইনারিগুলির দিকে ইঙ্গিত করেছিল, তবে বাইনারিগুলির পুরো পথ ব্যবহার করার পরেও আমি ভার্চুয়ালেনভের কাছে ইনস্টল করতে সক্ষম হইনি। দেখা গেল যে আমি যখন পাইথন- sudo pacman -R python-pip python-reportlabপাইপ প্যাকেজটি আনইনস্টল করেছি তখন (নির্ভরতা মেটাতে রিপোর্টল্যাব অন্তর্ভুক্ত করতে হয়েছিল) সবকিছু প্রত্যাশার মতো কাজ করা শুরু করে। নিশ্চিত নয় কেন, তবে সম্ভবত এটি সম্ভবত একটি ডাবল ইনস্টলের কারণে যেখানে সিস্টেম প্যাকেজটি অগ্রাধিকার গ্রহণ করছে।


আমি মাঞ্জারোতেও এই সমস্যাটি পেয়েছিলাম এবং এটি একইভাবে সমাধান করেছি। সমাধানের পরে আমি python-pipপাম্যাকের মাধ্যমে পুনরায় ইনস্টল করেছিলাম এবং ভার্চুয়ালেনভ পাইপটি সঠিকভাবে কাজ করতে থাকে। ঠিক কী চলছে তা নিশ্চিত নয়, তবে আমি আপনার দ্বিগুণ ইনস্টল ইস্যুর মূল্যায়নের সাথে একমত।
SID

4

পাইথন 2 এবং 3 ইনস্টল করে ম্যাকোজে আমার একই সমস্যা ছিল।

এছাড়াও, আমার কাছে পাইথন 3 এবং পাইপ 3 এর দিকে ইঙ্গিত করার জন্য আমার এলিয়াস ছিল .bash_profile

alias python=/usr/local/bin/python3
alias pip=/usr/local/bin/pip3

উপকরণগুলি সরানো এবং python3 -m venv venvসমস্যাটিকে স্থির করে ভার্চুয়াল এনভিভি পুনরায় তৈরি করা ।


ম্যাকোস পাইথন ইনস্টলেশন অকারণে বেদনাদায়ক
ইমো

আমি আমার চুলগুলি টেনে আনছিলাম এবং অবশেষে এটি আমার জন্য জিনিসগুলি স্থির করে: "কোন পাইপ" সমস্যা প্রকাশ করেছিল, "ইউনিালিয়াস পিপ" এটি ঠিক করেছিল।
কলিন

3

আপডেট করার পরে আমারও একই সমস্যা ছিল pip==8.0.0। খারাপ পথটি সন্ধান করতে ডিবাগিং পাইপটি নিতে হয়েছিল।

এটি দেখা যাচ্ছে যে আমার প্রোফাইল ডিরেক্টরিতে কিছু ফাঁকা পথের মানগুলির সাথে একটি ডিস্ট্রিল কনফিগারেশন ফাইল ছিল। এর ফলে সমস্ত প্যাকেজগুলি যথাযথ ভার্চুয়াল পরিবেশের পরিবর্তে একই মূল ডিরেক্টরিতে ইনস্টল করা হয়েছিল (আমার ক্ষেত্রে /lib/site-packages)।

কনফিগার ফাইলটি কীভাবে সেখানে পেল বা কীভাবে এটির খালি মান ছিল তা আমি নিশ্চিত নই তবে পাইপ আপডেটের পরে এটি শুরু হয়েছিল।

অন্য কেউ যদি এই একই সমস্যার জন্য হোঁচট খায় তবে কেবল ফাইল মুছে ফেলা ~/.pydistutils.cfg(বা খালি কনফিগার পাথটি সরিয়ে ফেলতে) আমার পরিবেশে সমস্যাটি ঠিক করেছে কারণ পিপ ডিফল্ট বিতরণ কনফিগারেশনে ফিরে গেছে।


4
এটি আমার সমস্যা হিসাবে। আমার ফাইলটি এর মতো দেখতে লাগল, কীভাবে এটি কীভাবে পাওয়া গেল তার কোনও ধারণা নেই:[install]\nprefix=
22

4
@ ফসলক হ্যাঁ, আমার দেখতেও তেমন লাগছিল। খারাপ খবর হাহাহা!
জোশিয়ার রুডেল


1

আজ একই ইস্যু জুড়ে এসেছিলেন। আমি কেবল sudo easy_install pip(ওএসএক্স / সর্বোচ্চ) দিয়ে বিশ্বব্যাপী পিপ পুনরায় ইনস্টল করেছিলাম , তারপরে আবার আমার ভার্চুয়ালেনভ তৈরি করেছি sudo virtualenv nameOfVEnv। তারপরে নতুন ভার্চুয়ালেনভ সক্রিয় করার পরে pipকমান্ডটি প্রত্যাশা অনুযায়ী কাজ করেছিল।

আমি মনে করি না যে আমি sudoপ্রথম ভার্চুয়ালেনভ সৃষ্টিতে ব্যবহার করেছি এবং pipএটি ভ্যুচুয়ালেনভের মধ্যে থেকে অ্যাক্সেস না পাওয়ার কারণ হতে পারে , আমি এই ফিক্সের pip2আগে অ্যাক্সেস পেতে সক্ষম হয়েছি যদিও এটি অদ্ভুত ছিল।


আমি এটি পেয়েছি কারণ আমি ডিরেক্টরিটিকে অন্য পথে সরিয়ে virtualenv
নিয়েছি

1

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

  • আপনার প্রকল্পের জন্য একটি ফোল্ডার তৈরি করুন।
  • এই ফোল্ডারের অভ্যন্তরে আপনার ভার্চুয়ালেনভ প্রকল্পগুলি তৈরি করুন ।
  • আপনার প্রকল্পের পরিবেশ সক্রিয় করার পরে, কখনই " সুডো পাইপ ইনস্টল প্যাকেজ " ব্যবহার করবেন না ।
  • আপনার কাজ শেষ করার পরে, সর্বদা আপনার পরিবেশকে " নিষ্ক্রিয় " করুন।
  • আপনার প্রকল্প ফোল্ডারটির নাম পরিবর্তন করা এড়িয়ে চলুন।


এই অনুশীলনের আরও ভাল উপস্থাপনের জন্য, এখানে একটি সিমুলেশন রয়েছে:


আপনার প্রকল্প / পরিবেশের জন্য একটি ফোল্ডার তৈরি করা

$ mkdir venv

পরিবেশ তৈরি

$ cd venv/ 

$ virtualenv google_drive
New python executable in google_drive/bin/python
Installing setuptools, pip...done.

সক্রিয় পরিবেশ

$ source google_drive/bin/activate

প্যাকেজ ইনস্টল

(google_drive) $ pip install PyDrive
Downloading/unpacking PyDrive
Downloading PyDrive-1.3.1-py2-none-any.whl
...
...
...    
Successfully installed PyDrive PyYAML google-api-python-client oauth2client six uritemplate httplib2 pyasn1 rsa pyasn1-modules
Cleaning up...

প্যাকেজ পরিবেশের ভিতরে উপলব্ধ

(google_drive) $ python
Python 2.7.6 (default, Oct 26 2016, 20:30:19) 
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import pydrive.auth
>>>  
>>> gdrive = pydrive.auth.GoogleAuth()
>>>

নিষ্ক্রিয় পরিবেশ

(google_drive) $ deactivate 

$ 

প্যাকেজ পরিবেশের বাইরে উপলভ্য নয়

(google_drive) $ python
Python 2.7.6 (default, Oct 26 2016, 20:32:10) 
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import pydrive.auth
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named pydrive.auth
>>> 

মন্তব্য:

সুদো না কেন?

ভার্চুয়ালেনভ আপনার জন্য সম্পূর্ণ নতুন পরিবেশ তৈরি করে, $ PATH এবং কিছু অন্যান্য ভেরিয়েবল এবং সেটিংস সংজ্ঞায়িত করে। আপনি যখন sudo পাইপ ইনস্টল প্যাকেজ ব্যবহার করেন , আপনি ভার্চুয়ালেনভকে রুট হিসাবে চালাচ্ছেন , তৈরি করা পুরো পরিবেশের বাইরে চলে যাচ্ছেন এবং তারপরে, বিশ্বব্যাপী সাইট-প্যাকেজগুলিতে প্যাকেজ ইনস্টল করবেন এবং যেখানে আপনার ভার্চুয়াল পরিবেশ রয়েছে সেখানে প্রোজেক্ট ফোল্ডারের ভিতরে নয় you পরিবেশ সক্রিয় করেছে।

যদি আপনি আপনার প্রকল্পের ফোল্ডারটির নাম পরিবর্তন করেন (স্বীকৃত উত্তরে উল্লিখিত হিসাবে) ...

... আপনাকে আপনার প্রকল্পের বিন ডিরেক্টরিতে কিছু ফাইল থেকে কিছু ভেরিয়েবল সামঞ্জস্য করতে হবে ।

উদাহরণ স্বরূপ:

বিন / পাইপ, লাইন 1 (সে ব্যাং)

বিন / সক্রিয়করণ, লাইন 42 (VIRTUAL_ENV)


1

আমার এই সমস্যা ছিল দেখা গেল যে আমার ফোল্ডারের একটির মধ্যে একটি জায়গা রয়েছে যা সমস্যার সৃষ্টি করেছে। আমি স্থানটি সরিয়েছি, ভেনভ ব্যবহার করে মুছে ফেলা এবং পুনর্বহাল করেছি এবং সবকিছু ঠিক আছে।


1

এই সমস্যাটি ঘটে যখন একটি ভার্চুয়ালেনভ উদাহরণ তৈরি করে এবং তারপরে পিতামাতার ফোল্ডারের নাম পরিবর্তন করে।


1

উপরের সমাধানগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি।

আমার ভেনভ সক্রিয় ছিল pip -Vএবং which pipআমাকে সঠিক ভার্চুয়ালনেভ পাথটি দিয়েছিলেন, তবে যখন আমি pip installসক্রিয় ভেনভের সাথে প্যাকেজগুলি সরবরাহ করি, তখন আমার pip freezeখালি থাকে।

সমস্ত পরিবেশের ভেরিয়েবলগুলিও সঠিক ছিল।

অবশেষে, আমি সবেমাত্র পাইপ পরিবর্তন করেছি এবং ভার্চুয়ালেনভকে সরিয়েছি:

easy_install pip==7.0.2

pip install pip==10

sudo pip uninstall virtualenv

ভেনভ পুনরায় ইনস্টল করুন:

sudo pip install virtualenv

ভেন্ট তৈরি করুন:

python -m virtualenv venv_name_here

এবং সমস্ত প্যাকেজগুলি আবার আমার ভেন্টে সঠিকভাবে ইনস্টল হয়েছে।


1

ভার্চুয়াল পরিবেশ তৈরির পরে, আপনার ভার্চুয়ালএনভনাম ame স্ক্রিপ্টগুলিতে অবস্থিত পাইপটি ব্যবহার করার চেষ্টা করুন

এটি আপনার ভার্চুয়াল পরিবেশে Lib \ সাইট-প্যাকেজগুলির মধ্যে একটি প্যাকেজ ইনস্টল করা উচিত


0

আমারও এই সমস্যা ছিল কল করার sudo pip installফলে পাইথন প্যাকেজগুলি বিশ্বব্যাপী সাইট-প্যাকেজ ডিরেক্টরিতে ইনস্টল করা হয়েছিল এবং কলিং pip installঠিক কাজ করেছে। তাই ভার্চুয়ালেনভে কোনও সুডো ব্যবহার করবেন না।


বা আপনি যদি sudo ব্যবহার করেন তবে আপনাকে ভার্চুয়াল পরিবেশটিও সক্রিয় করতে হবে। sudo suদ্বারা অনুসরণ <venv>/bin/activateদ্বারা অনুসরণ pip install
ডেভ

0

একই সমস্যা. পাইথন 3.5 এবং পাইপ 8.0.2 লিনাক্স থেকে ইনস্টল করা হয়েছে rpm

আমি প্রাথমিক কারণ খুঁজে পাইনি এবং সঠিক উত্তর দিতে পারি না। দেখে মনে হচ্ছে একাধিক সম্ভাব্য কারণ রয়েছে।

যাইহোক, আমি আশা করি আমি আমার পর্যবেক্ষণ এবং একটি কার্যবিধির ভাগ করে নিতে সহায়তা করতে পারি।

  1. pyvenv সঙ্গে --system-site-packages

    • ./binধারণ করে না pip, pipসিস্টেম সাইটের প্যাকেজ থেকে পাওয়া যায়
    • প্যাকেজগুলি বিশ্বব্যাপী ইনস্টল করা আছে ( বিইউজি? )
  2. pyvenv বিনা --system-site-packages

    • pipইনস্টল হয়ে যায় ./binতবে এটির একটি আলাদা সংস্করণ (থেকে ensurepip)
    • ভার্চুয়াল পরিবেশের মধ্যে প্যাকেজগুলি ইনস্টল করা আছে ( ঠিক আছে )

জন্য সুস্পষ্ট কার্যসংক্রান্ত pyvenvসঙ্গে --system-site-packages:

  • --system-site-packagesবিকল্প ছাড়া এটি তৈরি করুন
  • পরিবর্তন include-system-site-packages = falseকরার জন্য trueযে pyvenv.cfgফাইল

0

এটি আপনি যে কোনওভাবে আপনার ভার্চুয়ালেনভের পথটি সংশোধন করেননি তাও দেখার মতো।

সেক্ষেত্রে প্রথম লাইনের bin/pip(এবং বাকী এক্সিকিউটেবলের) একটি ভুল পথ থাকবে।

আপনি হয় এই ফাইলগুলি সম্পাদনা করতে পারেন এবং পাথটি ঠিক করতে পারেন বা সরিয়ে ফেলুন এবং আবার ভার্চুয়ালেনভ ইনস্টল করতে পারেন।


0

পাইথন 3ers এর জন্য

আপডেট করার চেষ্টা করুন। আমার ঠিক একই সমস্যা ছিল এবং চেসের উত্তরটি চেষ্টা করেছিলাম, তবে কোনও সাফল্য হয়নি। এটিকে রিফ্যাক্টারের দ্রুততম উপায় হ'ল সম্ভব হলে আপনার পাইথন মাইনর / প্যাচ সংস্করণ আপডেট করা update আমি লক্ষ্য করেছি যে আমি ৩.৩.১ চালিয়েছি এবং ৩.৫.২ এ আপডেট করেছি পাইভেনভ আবারও কাজ করে।


0

আমার সাথে এই ঘটনাটি ঘটেছিল যখন আমি ভ্রুচুয়ালভকে ভুল জায়গায় তৈরি করি। আমি তখন ভেবেছিলাম যে আমি দিরটিকে অন্য কোনও স্থানে নিয়ে যেতে পারি it এটা গুরুত্বপূর্ণ।

mkdir ~/projects
virtualenv myenv
cd myenv
git clone [my repository]

ওহ বাজে, আমি projectsভার্চুয়ালেনভ তৈরি করার আগে এবং রেপটিকে ক্লোনিং করার আগে সিডি করতে ভুলে গিয়েছিলাম । ওহ ভাল, আমি ধ্বংস এবং পুনরায় তৈরি করতে খুব অলস। আমি কেবল কোনও সমস্যা ছাড়াই দিরকে সরিয়ে দেব।

cd ~
mv myenv projects
cd projects/myenv/myrepo
pip install -r requirements

নাহ, আরও অনুমতি চায়, কি? আমি ভেবেছিলাম এটা অদ্ভুত তবে সুদো! এরপরে এটি প্যাকেজগুলি বিশ্বব্যাপী ইনস্টল করে।

আমি যে পাঠটি শিখেছি তা হ'ল, কেবল ভ্যুচুয়ালেনভ দিরকে মুছুন। এটি সরান না।


0

ডিভিও ইনস্টল করার পরেও এই সমস্যাটি ছিল: এটি টার্মিনাল চালু করার সাথে সাথে এটি আমার প্যাথ বা পরিবেশকে কোনওভাবে পরিবর্তন করেছিল।

এক্ষেত্রে সমাধানটি কেবল তখনই করা হয়েছিল source ~/.bash_profileযা আপনাকে আপনার মূল পাইয়ানভ / পাইয়ানভ-ভ্যুচুয়ালেনভ অবস্থায় ফিরিয়ে আনতে ইতিমধ্যে সেটআপ করা উচিত।


0

প্রজেক্ট ফোল্ডারে প্রিফিক্স = "" সহ কোনওরকম একটি সেটআপ.cfg ফাইল

প্রকল্পের ফোল্ডারের বাইরে ভার্চুয়ালনেভের উপর পাইপ ইনস্টল চলমান কাজ করছিল তাই ভিতর থেকে এটি খালি উপসর্গটি ব্যবহার করতে পিপকে বলছিল যা "/" কে ডিফল্ট করে দেয়

ফাইল অপসারণ এটি স্থির


0

আমার এই সমস্যাটি ছিল এবং উপরের সমস্ত সমাধানের চেষ্টা করার পরে আমি কেবল সমস্ত কিছু সরিয়ে নতুন করে শুরু করেছি।

আমার নিজের ক্ষেত্রে আমি sudoভার্চুয়াল পরিবেশ বিদ্যমান যে ফোল্ডারগুলির একটি তৈরি করতে ব্যবহার করেছি এবং sudo গোপনীয়তাগুলি রুটকে দিয়েছি

আমি খুব হতাশ! কিন্তু এটা কাজ!


0

আমার উবুন্টু সিস্টেমে পাইপের মাধ্যমে প্যাকেজ ইনস্টল করার জন্য আমাকে 'সুডো' ব্যবহার করতে হবে some এটি বিশ্বব্যাপী সাইট-প্যাকেজগুলিতে প্যাকেজগুলি ইনস্টল করার কারণ ঘটছে। ভবিষ্যতে এই সমস্যার মুখোমুখি হতে পারে এমন কারও জন্য এটি এখানে রেখে দেওয়া।


0

শিরোনাম থেকে আমার ঠিক সমস্যা ছিল এবং আমি এটি সমাধান করেছি। আমি আমার পাথ পরিষ্কার করার পরে পাইপটি ভেন্ট ভিজিট সাইট-প্যাকেজগুলিতে ইনস্টল করা শুরু করেছিল: এটির শুরুতে আমার স্থানীয় ~ / বিন ডিরেক্টরিতে একটি পথ ছিল।

সুতরাং, আমার পরামর্শ: "আবর্জনা" বা কোনও মানহীন জিনিসের জন্য আপনার পরিবেশের ভেরিয়েবলগুলি ভালভাবে পরীক্ষা করুন। দুর্ভাগ্যক্রমে, ভার্চুয়ালেনভ তাদের সংবেদনশীল হতে পারে।

শুভকামনা!


0

সংক্ষিপ্ত উত্তর প্যারামিটার "নো-সাইট-প্যাকেজ" সহ কমান্ড ভার্চুয়ালেনভ চালানো হয়।

ব্যাখ্যা সহ দীর্ঘ উত্তর: -

সুতরাং এখানে এবং সেখানে দৌড়ানোর পরে এবং প্রচুর থ্রেডের মধ্যে দিয়ে যাওয়ার পরে আমি আমার নিজের সমস্যাটি খুঁজে পেলাম। উপরের উত্তরগুলি ধারণা দিয়েছে তবে আমি যদিও সবকিছু দিয়ে আবার যেতে চাই।

  • সমস্যাটি হ'ল এমনকি যদি আপনি পরিবেশটি সক্রিয় করছেন যা আমরা সিস্টেমটি পরিবেশের সাথে উল্লেখ করছি কারণ আমরা ভার্চুয়ালেনভকে যেভাবে তৈরি করেছি।

  • যখন আমরা কমান্ডটি ভার্চুএলএনভ এনভিপি-পি পাইথন 3 চালাচ্ছি এটি ভার্চুয়ালেনভ ইনস্টল করবে তবে এটি কোনও গ্লোবাল — সাইট- প্যাকেজ.টিএসটি তৈরি করবে না।

  • এই কারণেই যখন আপনি উত্স অনুসারে পরিবেশটি অ্যাক্টিভেট করবেন সেখানে সেখানে এই সাইটটি.পি নামে নামক ফাইলটি (নামটি ভিন্ন হতে পারে, আমি কেবল ভুলে গেছি) যা চালায় এবং পরীক্ষা করে যদি এই ফাইলটি উপস্থিত না থাকে তবে এটি আপনার এনভির পাথকে সিস্টেপথে যোগ করবে না cks এবং অজগর সিস্টেম ব্যবহার।

  • এই সমস্যাটি সমাধানের জন্য কেবল অতিরিক্ত প্যারামিটার-নো-সাইট-প্যাকেজগুলির সাহায্যে ভার্চুয়ালেনভ চালানো এটি ফাইলটি তৈরি করবে এবং আপনি যখন পরিবেশটি সক্রিয় করবেন এটি আপনার প্যাথ ভেরিয়েবলটিতে আপনার কাস্টম পরিবেশের পথটিকে এটিকে অ্যাক্সেসযোগ্য করে তুলবে।


0

উপরে অনেক ভাল আলোচনা, কিন্তু ভার্চুয়ালেনভ উদাহরণ ব্যবহার করা হয়েছিল। যেহেতু 'কনডা' এখন ভার্চুয়ালেনভ পরিচালনার জন্য প্রস্তাবিত সরঞ্জাম, তাই আমি কনডা এনভিতে পিপ চালানোর পদক্ষেপগুলি নিম্নলিখিত হিসাবে সংক্ষেপে জানিয়েছি।

আমি এনওয়াইভির নাম হিসাবে পাই 36 আর ব্যবহার করব এবং / অপ্ট / কনডা / এনভিএস এনভির পূর্ববর্তী হ'ল:

$ source /opt/conda/etc/profile.d/conda.sh # skip if already done 
$ conda activate py36r
$ pip  install pkg_xyz
$ pip  list | grep pkg_xyz

দ্রষ্টব্য যে মৃত্যুদন্ড কার্যকর করা পাইপটি /opt/conda/envs/py36r/bin/pip(না /opt/conda/bin/pip) মধ্যে হওয়া উচিত

বিকল্পভাবে, আপনি কন্ডো অ্যাক্টিভেট ছাড়া কেবল নিম্নলিখিতটি চালাতে পারেন

$ /opt/conda/envs/py36r/bin/pip

এছাড়াও, যদি আপনি কনডা ব্যবহার করে ইনস্টল করেন তবে আপনি অ্যাক্টিভেট ছাড়া ইনস্টল করতে পারেন:

$ conda install -n py36r pkg_abc ...

0

উইন্ডোজ

আমার জন্য সমাধানটি ব্যবহার করা হয়নি mkvirtualenv, তবে:

python -m venv path/to/your/virtualenv

workon সঠিকভাবে কাজ করে।

ভার্চুয়ালেনভে থাকাকালীন: পাইপ করার জন্য ভার্চুয়ালেনভের pip -Vপথ দেখায়


0

আমি এই সমস্যাটিরও মুখোমুখি হয়েছি, এটি @ দীর্ঘমেয়াদী পদ্ধতি অনুসারে সমাধান না করা পর্যন্ত এটি আমাকে দীর্ঘদিনের জন্য ঝামেলা করেছে।

সমস্যা সমাধানের মূল কথাটি হ'ল :

আপনার bin/pipএবং bin/activateস্ক্রিপ্টগুলি পরীক্ষা করে দেখুন । ইন bin/pip, শেবাং তাকান। ইহা কি সঠিক? যদি না হয়, এটি সংশোধন করুন। তারপরে 42আপনার লাইনে line bin/activateআপনার ভার্চুয়ালনেভ পথটি সঠিক কিনা তা পরীক্ষা করে দেখুন। এটি দেখতে এরকম কিছু দেখাবে

VIRTUAL_ENV="/Users/me/path/to/virtual/environment"

যদি ভুল হয়, তবে সংশোধন deactivate, তারপর . bin/activate, এবং যদি আমাদের পারস্পরিক সমস্যা একই কারণ থাকত, তাহলে কাজ করা উচিত।

নীচে, আমি বিস্তারিতভাবে এই প্রক্রিয়া ব্যাখ্যা করবে Ubuntuপরিবেশ, একই জন্য সত্য Windowsএবং MacOS

এই বাক্যের অর্থ যে আমরা কিনা প্রথম লাইন চেক করতে হবে #!/path/pythonএর bin/pipভার্চুয়াল পরিবেশে ফাইল সঠিক।

মূলত আমার ফাইলে প্রদর্শিত হয়েছে:

#!/home/banni/dai/.venv/bin/python3

pipটার্মিনাল (পরম পথ:in এ চালান

/home/banni/dai/.venv/bin/pip

একটি ত্রুটি খুঁজে পাবেন :

bash: ./pip: /home/banni/dai/.venv/bin/python3: bad interpreter: No such file or directory

এখন আমি বিভ্রান্ত হয়েছি কেন আমি এটি খুঁজে পাচ্ছি না python3, কারণ ভার্চুয়াল পরিবেশটি যেখানে python3রয়েছে সেই ফোল্ডারে রয়েছে .venv/bin

আমি ফোল্ডারটির পরম পাথ চেক করি .venv/binpwdকমান্ডটি কার্যকর করার পরে এটি প্রদর্শিত হয়:

/home/banni/Research/dai/.venv/bin

সাবধানতার সাথে লক্ষ্য করুন যে .venvফোল্ডারের পথ পরিবর্তন হয়েছে। /bin/pipফাইলটির প্রথম লাইনটি এতে পরিবর্তন করুন

#!/home/banni/Research/dai/.venv/bin/python3

একইভাবে, bin/activateফাইলটি পরীক্ষা করুন এবং সংশোধন করুন।

আমি পরিবর্তন VIRTUAL_ENV="/home/banni/dai/.venv"করতেVIRTUAL_ENV="/home/banni/Research/dai/.venv"

এই মুহুর্তে, ভার্চুয়াল পরিবেশ সক্রিয় করার পরে, pipকমান্ডটি সাধারণত কার্যকর করা যায়।

সুতরাং, আমার জন্য, এই সমস্যার কারণ হ'ল ভার্চুয়াল পরিবেশটি অবস্থিত ফোল্ডারের পথ পরিবর্তন হয়েছে (ফোল্ডারগুলি আগে সংগঠিত করার সময় একটি গোপন সমস্যা যা বাকি ছিল)।

তবে ভার্চুয়াল পরিবেশটি যেখানে অবস্থিত ফোল্ডারের অবস্থানের পরিবর্তনের কারণে অনেকগুলি পাথ ত্রুটি হতে পারে, তাই সবচেয়ে সহজ উপায় হ'ল ভার্চুয়াল পরিবেশটি মূল অবস্থানে অবস্থিত ফোল্ডারটি পুনরুদ্ধার করা।

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