পাইভেনভ বনাম ভেনভ বনাম পাইথন-ভার্চুয়ালেনভ বনাম ভার্চুয়ালেনভ এবং পাইথন 3


13
malikarumi@Tetouan2:~$ pip install virtualenv
    Collecting virtualenv
    Downloading virtualenv-12.0.7-py2.py3-none-any.whl (1.8MB)
    100% |################################| 1.8MB 330kB/s 

malikarumi@Tetouan2:~$ pip freeze
    (a lot of stuff, but not virtualenv)

malikarumi@Tetouan2:~$ virtualenv testvenv1
    The program 'virtualenv' is currently not installed. You can install it by typing:
    sudo apt-get install python-virtualenv

এখানে কি হচ্ছে? পাইথন-ভার্চুয়ালেনভ == পাইভেনভ? তা কি এখনও ভাঙা হয়নি? মূল ভার্চুয়ালেনভ এখনও অজগর নিয়ে কাজ করে? যদি ভেনভ (অত্যধিক নামের বৈচিত্র !!!) স্ট্যান্ডার্ড লাইব্রেরির অংশ, https://docs.python.org/3/library/venv.html , কেন আমাকে এটি ইনস্টল করতে বলা হচ্ছে?

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

malikarumi@Tetouan2:~$ sudo apt-get install python-virtualenv
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following extra packages will be installed:
    python-colorama python-distlib python-html5lib python-pip python-setuptools

যে মুহুর্তে আমি গর্ভপাত বন্ধ করে দিয়েছি, কারণ তার আগে আমাকে পাইথন 3-পিপ ইনস্টল করা হয়েছিল

Setting up python3-setuptools (3.3-1ubuntu1) ...
Setting up python3-pip (1.5.4-1) ...

এবং আমি নিশ্চিত ছিলাম না যে অতিরিক্ত প্যাকেজগুলি সেগুলি ওভাররাইট করে বা পাইথন ২.7 এ যাবে।

আমি পড়লাম যে অজগর 3 টি ডিফল্ট হিসাবে এগিয়ে যাওয়ার কথা। যেহেতু 2.7 এবং 3.4 উভয়ই রয়েছে এবং পৃথক কমান্ড রয়েছে, আমি কীভাবে কেবল পাইথন 3 আমার ডিফল্ট তা নিশ্চিত করব না, তবে আমি যে কিছু ইনস্টল করি সেখানে সেখানে যায় এবং এটি 2.7 এর পরিবর্তে ব্যবহৃত হয়?

বিটিডাব্লু, আমি পাইডন 3-ভ্যুচুয়ালেনভকে supt-get-get চেষ্টা করেছি এবং পেয়েছি: ই: প্যাকেজ পাইথন 3-ভ্যুচুয়ালেনভ সনাক্ত করতে অক্ষম


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

আমি 14.04 ব্যবহার করছি, সুতরাং এই উত্তরটি আমাকে সহায়তা করেছিল।
ফ্রেন্ডএফএক্স

উত্তর:


4

পাইথন ভার্চুয়াল পরিবেশে পাইথন ৩.x প্যাকেজ ইনস্টল করার উপায় হল পাইথন 3 ভার্চুয়াল এনভায়রনমেন্ট ক্রিয়েটর (পাইথন 3-ভার্চুয়ালেনভ) ব্যবহার করে পাইথন ভার্চুয়াল পরিবেশ তৈরি করা । পাইথন 3-ভ্যুচুয়ালেনভ উবুন্টু 14.10 এবং তার পরে ডিফল্ট উবুন্টু সংগ্রহস্থলে রয়েছে।

পাইথন ভার্চুয়াল পরিবেশে 16.04 এবং তারপরে পাইথন 3.x প্যাকেজ ইনস্টল করুন

  1. পাইথন 3 ভার্চুয়াল পরিবেশ স্রষ্টা ইনস্টল করুন

    sudo apt install virtualenv python3-virtualenv
  2. পাইথন 3 এর জন্য পাইথন ভার্চুয়াল পরিবেশ তৈরি করুন। আপনি এই পাইথন ভার্চুয়াল পরিবেশের মধ্যে কেবল পাইথন 3 প্যাকেজ ইনস্টল করতে পারেন। আপনি যদি পাইথন ২.x প্যাকেজ ইনস্টল করতে চান তবে আপনাকে আরও একটি পাইথন ভার্চুয়াল পরিবেশ তৈরি করতে হবে।

    virtualenv -p python3 env  
    source ./env/bin/activate

    পাইথন 3 এর নতুন পাইথন ভার্চুয়াল পরিবেশ envবর্তমান ডিরেক্টরিতে অবস্থিত ডিরেক্টরিতে তৈরি করা হবে ।

  3. পাইথন প্যাকেজ ইনস্টল করুন।

    সিডি / পাথ / টু / এনভি / # এনভিটি হল পাইথন 3 ভার্চুয়াল পরিবেশের ডিরেক্টরি
    উত্স বিন / সক্রিয়
    পিপ 3 ইনস্টল করুন প্রথম প্যাকেজ-নাম পরবর্তী-প্যাকেজ-নাম সর্বশেষ প্যাকেজ-নাম

এটি পাইপ 3 এর সর্বশেষতম সংস্করণ সহ একটি নতুন পাইথন 3 ভার্চুয়াল পরিবেশ, সুতরাং এটিতে পাইথন প্যাকেজ ইনস্টল করা দুর্দান্ত কাজ করবে।


উবুন্টু 14.04 তে পাইথন ভার্চুয়াল পরিবেশে পাইথন 3.x প্যাকেজ ইনস্টল করুন

sudo apt-get install virtualenvwrapper  
gedit .bashrc

.Bashrc এর শেষে নিম্নলিখিত লাইনটি যুক্ত করুন।

source /usr/share/virtualenvwrapper/virtualenvwrapper.sh

.Bashrc এ পরিবর্তনগুলি সংরক্ষণ করুন এবং gedit বন্ধ করুন। পরিবর্তনগুলি কার্যকর হওয়ার জন্য আপনার .bashrc উত্স করুন।

cd 
source .bashrc

পাইথন 3 এর জন্য পাইথন ভার্চুয়াল পরিবেশ তৈরি করুন। আপনি এই পাইথন ভার্চুয়াল পরিবেশের মধ্যে কেবল পাইথন 3 প্যাকেজ ইনস্টল করতে পারেন। আপনি যদি পাইথন ২.x প্যাকেজ ইনস্টল করতে চান তবে আপনাকে আরও একটি পাইথন ভার্চুয়াল পরিবেশ তৈরি করতে হবে।

mkvirtualenv py3 -p /usr/bin/python3

পাইথন 3 এর নতুন পাইথন ভার্চুয়াল পরিবেশটি ~/.virtualenvs/py3ডিরেক্টরিতে তৈরি করা হবে । .virtualenvsএকটি লুকানো ফোল্ডার।

একটি প্যাকেজ ইনস্টল করুন।

সিডি ~ / .virtualenvs / py3
উত্স বিন / সক্রিয়
পাইপ 3 ইনস্টল প্যাকেজ-নাম

4
এটি সঠিক বলে মনে হচ্ছে না। বিভাজন (15.04) রয়েছে python3-virtualenvএবং python3-venvপ্যাকেজ উপলব্ধ। আমি ধরে নিচ্ছি যে python3-venvসঠিক প্যাকেজটি, সেক্ষেত্রে আমার কোন উদ্দেশ্য নেই যা উদ্দেশ্য python3-virtualenvকরে।
নিট

ত্রুটিপূর্ণ. আপনি virtualenvপাইপাই সহ স্বেচ্ছাসেবক দোভাষীর সাথে পরিবেশ তৈরি করতে (এক্সিকিউটেবল) ব্যবহার করতে পারেন , ঠিক আছে ডিম virtualenv -p python3 newenv
সাজ

0

ঠিক আছে, এটি জটিল হয়ে ওঠে। নীচে উবুন্টু জেনিয়ালের বিপরীতে দেখানো হয়েছে (যা আমি লিনাক্স মিন্ট ব্যবহার করি তার অন্তর্নিহিত প্রকাশ)। এর সাজান:

pyvenv

এটি পাইথন 3.3+ stdlib প্যাকেজের র‍্যাপার স্ক্রিপ্ট উল্লেখ করে। তবে পাইথন ৩.6 থেকে এটি অবহেলা করা হয়েছিল।

এটি একটি পাইপিআই প্যাকেজও যা ভার্চুয়াল এনভায়রনমেন্ট স্যুইচার।

venv

এটা তোলে পাইথন 3.3+ এর stdlib প্যাকেজ যার উদ্দেশ্য উন্নত করতে এবং PyPi প্রতিস্থাপন ছিল virtualenv প্যাকেজ (দেখুন PEP 405 )। তবে মনে হয় এটি এখনও নেই (অন্তত বৈশিষ্ট্য-সম্পূর্ণ হিসাবে নয়)।

পাইথন-ভার্চুয়ালেনভ এবং ভার্চুয়ালেনভ

$ apt-cache show virtualenv | grep Depends
Depends: python3, python3-virtualenv

আপনি দেখতে পাচ্ছেন যে এটি পাইথন 3 এ চলছে python-virtualenvpackage প্যাকেজটি ব্যবহার করার মতো python2 -m virtualenv py2। আসুন দেখুন কীভাবে virtualenvতাজা উবুন্টু জেনিয়াল ( docker run --rm -it ubuntu:xenial) এ কাজ করে :

$ virtualenv
bash: virtualenv: command not found
$ apt-get update
...
$ apt-get install --yes --no-install-recommends virtualenv
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  ca-certificates dh-python libexpat1 libmpdec2 libpython3-stdlib
  libpython3.5-minimal libpython3.5-stdlib libsqlite3-0 libssl1.0.0
  mime-support openssl python-pip-whl python3 python3-minimal
  python3-pkg-resources python3-virtualenv python3.5 python3.5-minimal
Suggested packages:
  libdpkg-perl python3-doc python3-tk python3-venv python3-setuptools
  python3.5-venv python3.5-doc binutils binfmt-support
Recommended packages:
  file
The following NEW packages will be installed:
  ca-certificates dh-python libexpat1 libmpdec2 libpython3-stdlib
  libpython3.5-minimal libpython3.5-stdlib libsqlite3-0 libssl1.0.0
  mime-support openssl python-pip-whl python3 python3-minimal
  python3-pkg-resources python3-virtualenv python3.5 python3.5-minimal
  virtualenv
...
$ virtualenv test
The executable python2 (from --python=python2) does not exist
$ virtualenv -p python3 py3 
Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /py3/bin/python3
Also creating executable in /py3/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
$ . py3/bin/activate
(py3) $ python --version
Python 3.5.2
(py3) $ deactivate
$ apt-get install --yes --no-install-recommends python    
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libffi6 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib
  python-minimal python2.7 python2.7-minimal
Suggested packages:
  python-doc python-tk python2.7-doc binutils binfmt-support
The following NEW packages will be installed:
  libffi6 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python
  python-minimal python2.7 python2.7-minimal
...
$ virtualenv py2 
Running virtualenv with interpreter /usr/bin/python2
New python executable in /py2/bin/python2
Also creating executable in /py2/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
$ . py2/bin/activate
(py2) $ python --version
Python 2.7.12

আপনি দেখতে পাচ্ছেন virtualenvপ্যাকেজটি ব্যবহার করা সত্ত্বেও python3-virtualenv, এর ডিফল্টটি পাইথন 2 পরিবেশ তৈরি করা।


আমি আমার মেশিনে একই জিনিসটি লক্ষ্য করেছি যা সে সময় উবুন্টু 14.04 চলছিল। - "আপনি যেমন দেখতে পাচ্ছেন যদিও ভার্চুয়ালেনভ প্যাকেজটি পাইথন 3-ভ্যুচুয়ালেনভ ব্যবহার করছে, তার ডিফল্ট পাইথন 2 পরিবেশ তৈরি করা।"
কারেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.