python - সরাসরি সর্বশেষ পাইপ সংস্করণ ইনস্টল করতে কীভাবে "পাইথন-মি ভেনভ" পাবেন




pip virtualenv (2)

আমি সেই setuptools এবং setuptools চাকা ফাইলগুলি ensurepip প্যাকেজের অংশ হিসাবে আপডেট করার জন্য upgrade-ensurepip ব্যবহার করি। এটি ensurepip মাধ্যমে ensurepip আপগ্রেড করতে সক্ষম হওয়ার মতো মার্জিত নয়, তবে এটি নিজে হাতে করা আরও ভাল to

PyPI

নতুন অজগর সংস্করণের সংকলনের পদক্ষেপের অংশ হিসাবে, get-pip.py করার get-pip.py পাশে সর্বশেষতম get-pip.py ইনস্টল করতে আমি get-pip.py চালিত get-pip.py :

$ /opt/python/3.7.0/bin/python --version
Python 3.7.0
$ /opt/python/3.7.0/bin/pip --version
pip 18.0 from /opt/python/3.7.0/lib/python3.7/site-packages/pip (python 3.7)

আমার কাছে /opt/python অধীনে 25 টির মতো সংস্করণ রয়েছে, যদিও আমি বেশিরভাগই প্রতিটি মেজর.মিনোর সংস্করণের পাঁচটি সর্বশেষ সংস্করণ ব্যবহার করি যা EOL নয়। একটি ইনভায়রনমেন্ট সেটআপ করতে আমি একটি নির্দিষ্ট সংস্করণ সহ ভার্চুয়াল পরিবেশ পেতে -p /opt/python/XYZ/bin/python বিকল্পের সাথে আমার ভার্চুয়ালেনভ বা আমার ভার্চুয়ালেনভুইটিস চালিত করতাম।

পাইথন ৩.7 এর সাহায্যে ইমপ মডিউল অবমূল্যায়নের সতর্কতা দেয়:

$ virtualenv -p /opt/python/3.7.0/bin/python /tmp/py37virtualenv
Running virtualenv with interpreter /opt/python/3.7.0/bin/python
Using base prefix '/opt/python/3.7.0'
/opt/util/virtualenvutils/lib/python3.6/site-packages/virtualenv.py:1041: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp
New python executable in /tmp/py37virtualenv/bin/python
Installing setuptools, pip, wheel...done.

আমি কম আশা করি এটি PendingDeprecationWarning সমাধান হয়ে যাবে, কারণ এটি কমপক্ষে ২০১৪ সাল থেকে একটি PendingDeprecationWarning ছিল (যেমন এই প্রশ্নের আউটপুট থেকে দেখা যাবে)

ভার্চুয়ালেনভুটিলেসগুলিতে python -m venv পরিবর্তে ভার্চুয়ালেনভকে প্রতিস্থাপন করার সময়, আমি প্রথম হাতে হাতে একটি নতুন venv ভিত্তিক ভার্চুয়াল পরিবেশ তৈরি করেছি:

$ /opt/python/3.7.0/bin/python -m venv /tmp/py37venv
$ /tmp/py37venv/bin/pip --version
pip 10.0.1 from /tmp/py37venv/lib/python3.7/site-packages/pip (python 3.7)

এটি একটি পুরানো pip সংস্করণ আছে! আপনি যদি এটি ব্যবহার করেন তবে আপনি পাবেন:

আপনি পাইপ সংস্করণ 10.0.1 ব্যবহার করছেন, তবে 18.0 সংস্করণ উপলব্ধ।
আপনার 'পিপ ইনস্টল - আপগ্রেড পাইপ' কমান্ডের মাধ্যমে আপগ্রেড করার কথা বিবেচনা করা উচিত

ভার্চুয়ালেনভ দিয়ে virtualenv ভার্চুয়াল পরিবেশে আপনি তত্ক্ষণাত্ সর্বশেষতম সংস্করণটি পাবেন:

$ /tmp/py37virtualenv/bin/pip --version
pip 18.0 from /tmp/py37virtualenv/lib/python3.7/site-packages/pip (python 3.7)

আমি একটি পোস্ট-তৈরি পদক্ষেপ চালাতে পারি:

/tmp/py37venv/bin/pip install -U --disable-pip-version-check pip 

অতিরিক্ত সময় লাগবে যা। এবং যদি pip জন্য কিছু সুরক্ষা আপডেট থাকে, তবে এটি সুরক্ষিত সংস্করণ, আক্রমণাত্মক আদর্শ পয়েন্ট পেতে নিরাপদ সংস্করণটি চালিত করবে।

get-pip.py তৈরির জন্য একাধিক পদক্ষেপগুলি করা এবং তারপরে get-pip.py ব্যবহার করে get-pip.py যুক্ত করা get-pip.py । কমান্ড-লাইন থেকে এটি এত সহজ নয়:

$ /opt/python/3.7.0/bin/python -m venv --without-pip /tmp/py37venvnopip
$ /tmp/py37venvnopip/bin/python -c "from  urllib.request import urlopen; response = urlopen('https://bootstrap.pypa.io/get-pip'); open('/tmp/tmp_get_pip.py', 'w').write(response.read())"
$ /opt/python/3.7.0/bin/python /tmp/tmp_get_pip.py
......
$ /opt/python/3.7.0/bin/pip --version

পাইপ 18.0 /opt/python/3.7.0/lib/python3.7/site-packages/pip থেকে (পাইথন ৩.7)

কি পুরানো pip সংস্করণ নিতে /opt/python/3.7.0/bin/python -m venv সৃষ্টি /opt/python/3.7.0/bin/python -m venv ? ৩.7.০ প্রকাশের সময় সংস্করণটি কি এটি উপলব্ধ?

আমি কীভাবে /opt/python/3.7.0 এর অধীনে আমার ইনস্টল আপডেট করতে পারি যাতে /opt/python/3.7.0/bin/python -m venv ব্যবহার করে স্ক্রিপ্ট, /opt/python/3.7.0/bin/python -m venv প্রত্যাবর্তন না করে সর্বশেষ /opt/python/3.7.0/bin/python -m venv সংস্করণ সহ একটি /opt/python/3.7.0/bin/python -m venv তৈরি করে বা একাধিক আদেশ ব্যবহার করে? /opt/python/3.7.0 অধীনে /opt/python/3.7.0 ইনস্টল /opt/python/3.7.0 অবশ্যই যথেষ্ট নয়।

দুটি বান্ডিলযুক্ত চাকা রয়েছে:

/opt/python/3.7.0/lib/python3.7/ensurepip/_bundled/setuptools-39.0.1-py2.py3-none-any.whl
/opt/python/3.7.0/lib/python3.7/ensurepip/_bundled/pip-10.0.1-py2.py3-none-any.whl

আমার সন্দেহ হয় আমার সেগুলি আপডেট করা দরকার। এগুলি হাত দিয়ে আপডেট করার চেয়ে ভাল উপায় আর কী আছে? /some/python -m venv জন্য কিছু বিকল্পটি /some/python -m venv হবে।

(এবং চলমান /some/python -m ensurepip --upgrade করে না)

/opt/python/3.7.0/bin/pyvenv একই পুরানো /opt/python/3.7.0/bin/pyvenv সংস্করণ সমস্যা রয়েছে।


এটি একটি প্রত্যাশিত আচরণ। python -m venv python -m ensurepip ইনস্টল করার জন্য python -m venv কল করে এবং এই উত্তরটি দেখায় যে ensurepip কেবলমাত্র - --upgrade অপশন সহ বান্ডিল সংস্করণ ইনস্টল করবে। setuptools এবং setuptools আপডেট করার জন্য কোনও অফিসিয়াল বিকল্প setuptools

ঠিক আছে আমার ঠিক এই নকশা করা আচরণ হিসাবে এই সমস্যাটি ঠিক করার কোনও ভাল ধারণা নেই। আমি দুটি পরামর্শ দিতে চাই:

  1. pipenv ব্যবহার করুন। এটা সত্যিই ভাল! এবং এটি ভবিষ্যতে পরবর্তী প্রজন্মের অফিশিয়াল প্যাকেজ ম্যানেজার হবে (যদিও বর্তমান পাইপির কাঠামোর সাথে একটি বড় সমস্যা রয়েছে। সংক্ষেপে, একটি প্যাকেজ ম্যানেজার কেবল পুরো প্যাকেজটি ডাউনলোডের সাথে নির্ভরতাগুলি সিদ্ধান্ত নিতে পারে This এটি একটি বিশাল অসুবিধা দেয় বিল্ডিং নির্ভরতা গ্রাফ।)।

  2. আপনার কাস্টম EnvBuilder বাস্তবায়ন করুন, আসলে এটি সম্পর্কে একটি সরকারী উদাহরণ রয়েছে। এবং উদাহরণস্বরূপ, এটি get-pip.py ইনস্টল করতে get-pip.py ব্যবহার করে।





python-venv