ভার্চুয়ালেনভে পাইথনের আর একটি সংস্করণ ইনস্টল করা সম্ভব?


146

পাইথন ২.৪ ইনস্টল থাকা একটি ওয়েব হোস্টিংয়ে আমার একটি শেয়ারকৃত অ্যাকাউন্ট রয়েছে তবে আমার কোডটি ২.৪ এর সাথে সামঞ্জস্যপূর্ণ নয়। ভার্চুয়ালেনভে সরাসরি পাইথন ২.6 ইনস্টল করা সম্ভব?

দ্রষ্টব্য: ভাগ করা সার্ভারে এটি ইনস্টল করার অনুমতি আমার কাছে নেই।

উত্তর:


253

এখানে ভার্চুয়ালেনভের বিকল্প রয়েছে

$ virtualenv
You must provide a DEST_DIR
Usage: virtualenv [OPTIONS] DEST_DIR

Options:
  --version             show program's version number and exit.
  -h, --help            show this help message and exit.
  -v, --verbose         Increase verbosity.
  -q, --quiet           Decrease verbosity.
  -p PYTHON_EXE, --python=PYTHON_EXE
                        The Python interpreter to use, e.g.,
                        --python=python2.5 will use the python2.5 interpreter
                        to create the new environment.  The default is the
                        interpreter that virtualenv was installed with
                        (/usr/bin/python)
  --clear               Clear out the non-root install and start from scratch
  --no-site-packages    Don't give access to the global site-packages dir to
                        the virtual environment
  --unzip-setuptools    Unzip Setuptools or Distribute when installing it
  --relocatable         Make an EXISTING virtualenv environment relocatable.
                        This fixes up scripts and makes all .pth files
                        relative
  --distribute          Use Distribute instead of Setuptools. Set environ
                        variable VIRTUALENV_USE_DISTRIBUTE to make it the
                        default
  --prompt==PROMPT      Provides an alternative prompt prefix for this
                        environment

1) আপনি যা করতে চান তা হ'ল একটি ডিরেক্টরিতে পাইথন ইনস্টল করুন যা আপনি খুব লিখতে সক্ষম।

আপনি নির্দেশাবলী অনুসরণ করতে পারেন here

পাইথনের জন্য 2.7.1
Python source

mkdir ~/src
mkdir ~/.localpython
cd ~/src
wget http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tgz
tar -zxvf Python-2.7.1.tgz
cd Python-2.7.1

make clean
./configure --prefix=/home/${USER}/.localpython
make
make install

2) ভার্চুয়ালেনভ ইনস্টল করুন
virtualenv source

cd ~/src
wget http://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.5.2.tar.gz#md5=fbcefbd8520bb64bc24a560c6019a73c
tar -zxvf virtualenv-1.5.2.tar.gz
cd virtualenv-1.5.2/
~/.localpython/bin/python setup.py install

3) আপনার স্থানীয় অজগর ব্যবহার করে একটি ভার্চুয়ালেনভ তৈরি করুন
virtualenv docs

mkdir /home/${USER}/virtualenvs
cd /home/${USER}/virtualenvs
~/.localpython/bin/virtualenv py2.7 --python=/home/${USER}/.localpython/bin/python2.7

4) পরিবেশ সক্রিয় করুন

cd ~/virtualenvs/py2.7/bin
source ./activate

5) চেক

(py2.7)$ python
Python 2.7.1 (r271:86832, Mar 31 2011, 15:31:37) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

(py2.7)$ deactivate
$ python
Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

14
উজ্জ্বল লেখা! যদিও দুটি মন্তব্য: ১. আসলে ত্রুটি ফিরে আসার make cleanআগে আমাকে করতে হবে না । 2. পরিবর্তে কাজ হয়নি কাজ করে। আমি ধরে নিলাম এটি ভার্চুয়ালেনভ সংস্করণে নেমে এসেছে। চিয়ার্স! ./configure --prefix=/home/<user>/.localpythonmake cleanvirtualenv name -p=/python/pathvirtualenv name -p /python/path
zzart

1
আমি জিসিসি থেকে কারাগারে ছিলাম তবে পদক্ষেপ ১: ডকস.এ্যাকটিভস্টেট
স্কট স্টাফোর্ড

3
এটি যতটা সম্ভব সম্পূর্ণ ইনস্টলের কাছাকাছি কাজ করার জন্য আপনার মডিউলগুলির (ডিবিয়ানে) প্রয়োজনীয় একটি তালিকা রয়েছে:curl gcc build-essential libncursesw5-dev libreadline5-dev libssl-dev libgdm-dev libbz2-dev libc6-dev libsqlite3-dev tk-dev
ক্লাদিউ

1
নিতপিক: sourceবাশিজম। পসিক্স সমতুল্য .
l0b0

4
আমি দেখতে পেয়েছি যে এই প্রচুর বুনিয়াদি মডিউলগুলি অনুপস্থিত
ব্যবহারকারী 299709

20

আগ্রহী:

  1. sudo easy_install virtualenv
  2. sudo pip install virtualenvwrapper

পাইথন 2.6 দিয়ে ভার্চুয়ালেনভ ইনস্টল করা:

  1. আপনি পাইথনের অন্য সংস্করণ /usr/localবা অন্য কোনও স্থানে ম্যানুয়ালি ডাউনলোড, বিল্ড এবং ইনস্টল করতে পারেন ।

  2. যদি এটির পরিবর্তে অন্য কোনও অবস্থান থাকে /usr/localতবে এটিকে আপনার রাস্তায় যুক্ত করুন।

  3. আপডেট করা PATH নিতে আপনার শেলটি পুনরায় লোড করুন।

  4. এই জায়গা থেকে আপনার শেল python2.5এবং নীচের থেকে নিম্নলিখিত 2 টি অজগর বাইনারি কল করতে সক্ষম হওয়া উচিতpython2.6

  5. এর সাথে ভার্চুয়ালেনভের একটি নতুন উদাহরণ তৈরি করুন python2.6:

    mkvirtualenv --python=python2.6 yournewenv


4
আমি মনে করি mkvirtualenv কমান্ড কেবল তখনই কাজ করবে যখন আপনি ভার্চুয়ালেনভ্রাপার ইনস্টল করেছেন।
ডিটিটিং

4

এই পদ্ধতিটি পাইথন 2.7 কোথাও ইনস্টল করে এবং আপনার envফোল্ডারের মধ্যে কোনও নিখুঁত পথের রেফারেন্সগুলি সরিয়ে দেয় ( ভার্চুয়ালেনভ দ্বারা পরিচালিত) । এমনকি ভার্চুয়ালেনভ একেবারে ইনস্টল করা নেই।

সুতরাং, তাত্ত্বিকভাবে, আপনি শীর্ষ স্তরের ডিরেক্টরিটি একটি টারবালের মধ্যে ফেলে দিতে পারেন, টারবলের মধ্যে যে কোনও কনফিগার করা পাইথন নেই (বা কোনও নির্ভরতা) নেই তার উপর বিতরণ এবং চালাতে পারেন ইনস্টল ।

কোন প্রশ্ন থাকলে যোগাযোগ করো আমার সাথে. এটি ইঞ্জিনিয়ারিংয়ের একটি চলমান, বৃহত্তর প্রকল্পের একটি অংশ। এখন, ড্রপ জন্য ...

  1. পরিবেশ ফোল্ডার সেট আপ করুন।

    $ mkdir env
    $ mkdir pyenv
    $ mkdir dep
  2. পাইথন-২.7.৩, এবং কোনও ধরণের রুট ওএস ইনস্টলেশন ছাড়াই ভার্চুয়ালেনভ পান ।

    $ cd dep
    $ wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz
    $ wget https://raw.github.com/pypa/virtualenv/master/virtualenv.py
  3. এক্সট্র্যাক্ট এবং মধ্যে পাইথন-2.7.3 ইনস্টল pyenvDir। make cleanআপনি যদি ২ য়, তৃতীয়, নবম সময়টি করে থাকেন তবে এটি alচ্ছিক ...

    $ tar -xzvf Python-2.7.3.tgz
    $ cd Python-2.7.3
    $ make clean
    $ ./configure --prefix=/path/to/pyenv
    $ make && make install
    $ cd ../../
    $ ls
    dep    env    pyenv
  4. আপনার ভার্চুয়ালেনভ তৈরি করুন

    $ dep/virtualenv.py --python=/path/to/pyenv/bin/python --verbose env
  5. পাইথন 2.7 এর মধ্যে সিলেমিংকটি ঠিক করুন env/include/

    $ ls -l env/include/
    $ cd !$
    $ rm python2.7
    $ ln -s ../../pyenv/include/python2.7 python2.7
    $ cd ../../
  6. Env মধ্যে অজগর বাকি symlinks ঠিক করুন। আপনাকে প্রতীকীভাবে সংযুক্ত ডিরেক্টরিগুলি মুছতে হবে এবং উপরের মতো সেগুলি পুনরায় তৈরি করতে হবে। এছাড়াও, স্থানটিতে প্রতীকী লিংক তৈরির জন্য জোর করার সিনট্যাক্সটি এখানে।

    $ ls -l env/lib/python2.7/
    $ cd !$
    $ ln -sf ../../../pyenv/lib/python2.7/UserDict.py UserDict.py
    [...repeat until all symbolic links are relative...]
    $ cd ../../../
  7. পরীক্ষা

    $ python --version
    Python 2.7.1
    $ source env/bin/activate
    (env)
    $ python --version
    Python 2.7.3

আলোহা।


1
চতুর্থ ধাপের জন্য পাইপ মডিউলটি লাগবে বলে মনে হচ্ছে। সর্বশেষ পাইথন ২.7.৯ দিয়ে চেষ্টা করেছেন।
রোমান সুসি

1
প্রচুর ত্রুটি সহ এটিকে, খালি যাওয়ার চেষ্টা করা হয়েছে very
অ্যালেক্স আর

4

আমি ভার্চুয়ালেনভ্রাপার ব্যবহার করছি এবং AT PATH সংশোধন করতে চাই না, এখানে কীভাবে:

$ which python3
/usr/local/bin/python3

$ mkvirtualenv --python=/usr/local/bin/python3 env_name

3

সাধারণ পদ্ধতির উত্সটি ডাউনলোড করা এবং স্থানীয়ভাবে বিল্ড এবং ইনস্টল করা (তবে সরাসরি ভার্চুয়ালেনভে নয়) এবং সেই স্থানীয় পাইথন ইনস্টলটি ব্যবহার করে একটি নতুন ভার্চুয়ালেনভ তৈরি করা। কিছু সিস্টেমে উত্স থেকে বিল্ডিং না করে প্রাক-বিল্ট পাইথন ডাউনলোড এবং ইনস্টল করা সম্ভব।


3

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


কনডা ইনস্টল করুন (এর জন্য আপনার একটি ভার্চুয়ালেনভের প্রয়োজন হতে পারে)

pip install conda

কনডা পরিবেশের মধ্যে একটি নতুন পাইথন সংস্করণ ইনস্টল করা

আমি এই উত্তরটি এখানে যুক্ত করছি কারণ কোনও ম্যানুয়াল ডাউনলোডের প্রয়োজন নেই। condaআপনার জন্য এটি করতে হবে।

আপনি যে পাইথন সংস্করণটি চান তার জন্য এখন একটি পরিবেশ তৈরি করুন। এই উদাহরণে আমি ব্যবহার করব 3.5.2, কারণ এটি লেখার এই সময়ে এটি সর্বশেষতম সংস্করণ (আগস্ট 2016)।

conda create -n py35 python=3.5.2

প্যাকেজ ইনস্টল করার জন্য কনডোর পরিবেশ তৈরি করবে


এই পরিবেশটি সক্রিয় করতে (আমি লিনাক্স ধরে নিচ্ছি অন্যথায় কনডা ডক্সটি পরীক্ষা করুন ):

source activate py35

এখন আপনার যা প্রয়োজন তা পিপ বা কনডা মাধ্যমে এনভায়রওয়্যারমন্টে ইনস্টল করুন (কনডায় আরও ভাল বাইনারি প্যাকেজ সমর্থন রয়েছে)।

conda install <package_name>

2

আপনি pyenv ব্যবহার করতে পারেন।

অ্যানাকোন্ডা, জাইথন, পাইপিসহ আরও অনেকগুলি সংস্করণ রয়েছে ...

https://github.com/yyuu/pyenv

হিসাবে সহজ ইনস্টলেশন pyenv install 3.2.6

pyenv install --list
Available versions:
  2.1.3
  2.2.3
  2.3.7
  2.4
  2.4.1
  2.4.2
  2.4.3
  2.4.4
  2.4.5
  2.4.6
  2.5
  2.5.1
  2.5.2
  2.5.3
  2.5.4
  2.5.5
  2.5.6
  2.6.6

...


1

যদিও প্রশ্নটি নির্দিষ্টভাবে 2.6 ইনস্টল করার বর্ণনা করে তবে আমি কেউ যদি এদিকে আসে তবে উপরের উত্তরের উত্তরে কিছু আমদানিকারী পয়েন্ট যুক্ত করতে চাই। রেকর্ডটির জন্য, আমার কেসটি ছিল যে আমি একটি উবুন্টু 10.04 বাক্সে 2.7 ইনস্টল করার চেষ্টা করছিলাম।

প্রথমত, এখানে সমস্ত উত্তরে বর্ণিত পদ্ধতিগুলির প্রতি আমার অনুপ্রেরণা হ'ল ডেডসনকের পিপিএ থেকে পাইথন ইনস্টল করা করা সম্পূর্ণ ব্যর্থতা। সুতরাং একটি স্থানীয় পাইথন তৈরি করার উপায়।

এত চেষ্টা করেও আমি ভেবেছিলাম পিপ (ডিফল্ট sudo apt-get install pip) এর ডিফল্ট ইনস্টলেশন নির্ভর করা যথেষ্ট হবে be দুর্ভাগ্যক্রমে এটি ভুল। এটি প্রমাণিত হয়েছে যে আমি সমস্ত শর্ট দুষ্টু ইস্যু পেয়ে যাচ্ছি এবং অবশেষে কোনও ভার্চুয়ালেনভ তৈরি করতে সক্ষম হচ্ছি না।

অতএব, আমি স্থানীয়ভাবে পিপ সঙ্গে স্থানীয়ভাবে ইনস্টল করার পরামর্শ দিচ্ছি wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py && python get-pip.py --userএই সম্পর্কিত প্রশ্নটি আমাকে এই ইঙ্গিতটি দিয়েছে।

এখন যদি এটি কাজ না করে তবে নিশ্চিত হয়ে নিন যে libssl-devউবুন্টু বা openssl-devসেন্টোসের জন্য ইনস্টল করা আছে। সঙ্গে সেগুলি ইনস্টল apt-getবা yumএবং তারপর পুনরায় বিল্ড পাইথন (ইনস্টল করা যদি কিছু মুছে ফেলার জন্য কোন প্রয়োজন, উপরে তাই)। get-pipযে সম্পর্কে অভিযোগ, আপনি চালিয়ে তা পরীক্ষা করতে পারেনimport ssl একটি পাই শেল ।

সর্বশেষে, ঘোরাঘুরি .local/binএবং স্থানীয় অজগরটিকে পথে যেতে ভুলবেন না , which pipএবং সাথে চেক করুন which python


1

পাইয়ানভ সহ সম্পূর্ণ গাইড

যদি পাইয়ানভ ইনস্টল না থাকে তবে পায়েনভ-ইনস্টলার দিয়ে ইনস্টল করুন :

$ curl https://pyenv.run | bash

যে কোনও কাস্টম পাইথন সংস্করণ 3.5.6ব্যবহার করতে , উদাহরণস্বরূপ নিম্নলিখিতটি ব্যবহার করুন:

pyenv install 3.5.6
pyenv virtualenv 3.5.6 name_of_your_env
pyenv activate name_of_your_env

0

না, তবে আপনি আপনার ডিরেক্টরিতে পৃথক পৃথক পাইথন বিল্ড (যেমন অ্যাক্টিভ পাইথন ) ইনস্টল করতে পারেন $HOME

এই পদ্ধতির দ্রুততম , এবং আপনাকে পাইথন নিজেই সংকলনের প্রয়োজন হয় না।

(বোনাস হিসাবে, আপনি অ্যাক্টিভ স্টেটের বাইনারি প্যাকেজ পরিচালকও ব্যবহার করতে পারেন )


প্রকৃতপক্ষে মিথ্যা হিসাবে ভার্চুয়ালেনভ আরও একটি পাইথন সংস্করণ ইনস্টল করতে সক্ষম।
রায়টো

0

আমি উপযুক্ত উত্তর খুঁজে পাইনি, সুতরাং এখানে আমার গ্রহণযোগ্যতা রয়েছে, যা @ টোস্টার উত্তরটি তৈরি করে, তবে সিস্টেম পাইথন ব্যবহার করে না (এবং আপনি জানেন যে অনেকের সাথে ডিল করার সময় সিস্টেম স্তরে সেটআপটোলগুলি এবং ভার্চুয়ালেনভ ইনস্টল করা সর্বদা ভাল ধারণা নয়) পাইথন কনফিগারেশন):

#!/bin/sh

mkdir python_ve
cd python_ve

MYROOT=`pwd`
mkdir env pyenv dep

cd ${MYROOT}/dep
wget https://pypi.python.org/packages/source/s/setuptools/setuptools-15.2.tar.gz#md5=a9028a9794fc7ae02320d32e2d7e12ee
wget https://raw.github.com/pypa/virtualenv/master/virtualenv.py
wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tar.xz
xz -d Python-2.7.9.tar.xz

cd ${MYROOT}/pyenv
tar xf ../dep/Python-2.7.9.tar
cd Python-2.7.9
./configure --prefix=${MYROOT}/pyenv && make -j 4 && make install

cd ${MYROOT}/pyenv

tar xzf ../dep/setuptools-15.2.tar.gz

cd ${MYROOT}

pyenv/bin/python dep/virtualenv.py --no-setuptools --python=${MYROOT}/pyenv/bin/python --verbose env
env/bin/python pyenv/setuptools-15.2/setup.py install
env/bin/easy_install pip

echo "virtualenv in ${MYROOT}/env"

এখানে মুরগির ডিমের সমস্যা ভাঙার কৌশলটি হ'ল প্রথমে সেটআপটোল ছাড়াই ভার্চুয়ালেনভ তৈরি করা, কারণ এটি অন্যথায় ব্যর্থ হয় (পিপ খুঁজে পাওয়া যায় না)। সরাসরি পাইপ / চাকা ইনস্টল করা সম্ভব হতে পারে তবে কোনওভাবেই সহজ_ইনস্টলটি ছিল আমার মনে প্রথম জিনিসটি। এছাড়াও, স্ক্রিপ্টটি কংক্রিট সংস্করণগুলি ফ্যাক্টর করে উন্নত করা যেতে পারে।

বিশেষ দ্রষ্টব্য। স্ক্রিপ্টে xz ব্যবহার করে।


0

প্রথমত, দুর্দান্ত উত্তরের জন্য আপনাকে ধন্যবাদ ধন্যবাদ। এটা বেশ নিখুঁত।

যারা শেয়ার্ড হোস্টিংয়ে জিসিসি অ্যাক্সেস না পেয়ে ভুগছেন তাদের জন্য স্কট স্টাফোর্ডের মতো সাধারণ অজগরটির পরিবর্তে অ্যাক্টিভ পাইথনের জন্য যান। এখানে তার জন্য আদেশ আছে।

wget http://downloads.activestate.com/ActivePython/releases/2.7.13.2713/ActivePython-2.7.13.2713-linux-x86_64-glibc-2.3.6-401785.tar.gz

tar -zxvf ActivePython-2.7.13.2713-linux-x86_64-glibc-2.3.6-401785.tar.gz

cd ActivePython-2.7.13.2713-linux-x86_64-glibc-2.3.6-401785

./install.sh

এটি আপনাকে পাইথন ডিরেক্টরিতে যাওয়ার পথ জিজ্ঞাসা করবে। প্রবেশ করান

../../.localpython

ডিটিংয়ের উত্তরে কেবল উপরে ধাপ 1 হিসাবে প্রতিস্থাপন করুন এবং তার পরে পদক্ষেপ 2 দিয়ে এগিয়ে যান। দয়া করে নোট করুন যে অ্যাক্টিভ পাইথন প্যাকেজ ইউআরএল নতুন প্রকাশের সাথে পরিবর্তিত হতে পারে। আপনি সর্বদা এখান থেকে নতুন URL পেতে পারেন: http://www.activestate.com/activepython/downloads

ইউআরএল-এর ভিত্তিতে প্রাপ্ত ফাইলের ভিত্তিতে আপনাকে টার এবং সিডি কমান্ডের নাম পরিবর্তন করতে হবে।

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