বিদ্যমান ভার্চুয়ালেনভকে কি করুণভাবে আপগ্রেড করা যেতে পারে?


96

আমার পাইথন 2.5 এর জন্য একটি ভার্চুয়ালেনভ তৈরি হয়েছে এবং এটি পাইথন ২.6 এ "আপগ্রেড" করতে চাই।

এটি মূলত এটি কীভাবে সেট আপ করা হয়েছিল তা এখানে:

virtualenv --no-site-packages -p python2.5 myenv

আমি এখন একই ডিরেক্টরিতে আপগ্রেড করার জন্য ভার্চুয়ালেনভ চালাচ্ছি:

virtualenv --no-site-packages -p python2.6 myenv
...
Not overwriting existing python script myenv/bin/python (you must use myenv/bin/python2.6)
...
Overwriting myenv/bin/activate with new content

ডিফল্ট পাইথনটি এখনও 2.5, যদিও আমি 2.6 উল্লেখ করতে পারি। সম্পূর্ণভাবে 2.5 অপসারণ এবং এর পরিবর্তে 'বিন / পাইথন' পয়েন্টটি 2.6 এ যাওয়ার কোনও উপায় আছে কি ?

উত্তর:


64

আপনি বিদ্যমান ডিরেক্টরিটিকে "পুনর্নির্মাণ" করতে পাইথন ২.6 ব্যবহার করতে পারেন virt আপনি ইনস্টল করা সমস্ত মডিউলগুলি পুনরায় ইনস্টল করতে হবে। আমার প্রায়শই একটি মডিউল বিকাশের জন্য ভার্চুয়াল ডিরেক্টরি থাকে এবং পাইথনের বহু সংস্করণ সহ একই ডিরেক্টরিটি ভার্চুয়ালেনভ থাকে এবং এটি ঠিক কাজ করে। :)


4
ধন্যবাদ! আমি আপনার পদ্ধতিটি চেষ্টা করে দেখেছি যে 'অ্যাক্টিভেট' স্ক্রিপ্ট আপডেট হয়েছে তবে পুরানো সংস্করণটি রয়ে গেছে (দয়া করে সংশোধিত প্রশ্নটি দেখুন)। আপনি একটি উদাহরণ দিতে সক্ষম?
ম্যাট নরিস

13
পাইথন ২.6 দিয়ে ভার্চুয়ালেনভ পুনরায় চালানোর আগে আপনি কেবল ভার্চুয়ালেনভের নির্বাহযোগ্য বিন / পাইথনটি সরাতে পারেন।
কার্ল মায়ার

9
ঠিক আছে, আপনি এটি কাজ করতে পারেন - তবে কেন? এর বড় আকর্ষণ virtualenvহ'ল এটি সহজে এবং সস্তায় পুনরুত্পাদনযোগ্য পাইথনের পরিবেশ তৈরি করে। একজনের সাথে কেন বিড়বিড় করে নিশ্চিত হন না যে আপনি সবকিছু স্থির করেছেন বা আপনি এটি পুনরুত্পাদন করতে পারবেন বা যখন আপনি কেবল নতুন পরিষ্কার তৈরি করতে পারবেন তখন আপনি আপনার উত্পাদন পরিবেশকে বিরক্ত করছেন?
নেড ডিলি

9
@ নেড: ভার্চুয়ালেনভ পুনরুত্পাদনযোগ্য পরিবেশ তৈরি করে না, এটি বিচ্ছিন্ন পরিবেশ তৈরি করে। তাদের পুনরুত্পাদন করার জন্য আপনাকে একইভাবে সবকিছু ইনস্টল করতে হবে, ভার্চুয়ালেনভ এর পক্ষে যথেষ্ট নয়। zc.buildout সেখানে ভাল।
লেনার্ট রেগেব্রো 21

4
@ নেড: পয়েন্ট নেওয়া; এটি যে বিকাশের পরিবেশে আমি কাজ করছিলাম। আমি এটি 2.5 এ রাখতে চাইতাম যদি না আমার একেবারে 2.6 করার দরকার হয়। এটির প্রয়োজন হয়েছিল, তাই আমি আগ্রহী ছিলাম যদি আপনি নতুন কোডটিতে ডিরেক্টরিগুলি পুনর্নির্মাণ এবং কপি / পেস্ট না করেই আপনার কোডের প্রভাবগুলি দেখতে কোনও বিচ্ছিন্ন পরিবেশ আপগ্রেড করতে পারেন।
ম্যাট নরিস 1

25

পাইথনে ৩.৩ ++ ভিভ - আপগ্রেড পতাকা সমর্থন করে

  --upgrade             Upgrade the environment directory to use this version
                        of Python, assuming Python has been upgraded in-place.

ব্যবহার:

python -m venv --upgrade YOUR_VENV_DIRECTORY

আমি কোনও সমস্যা ছাড়াই বেশ কয়েকটি প্রকল্পে পাইথন 3.7.x থেকে 3.8 এ সবেমাত্র আমার ভেন্টটি আপগ্রেড করেছি।


4
"ধরে নিচ্ছি পাইথনকে জায়গায় উন্নীত করা হয়েছে" ... এর দুর্ভাগ্যবশত মনে হচ্ছে যে যদি আমার সিস্টেমটি python33.6 এর python3দিকে নির্দেশ করে তবে আমি আমার ভেনভিতে 3.7 পয়েন্ট করতে পারব না
joel

4

আপনার virtualenvব্যবহার করে একটি নতুন তৈরি করা উচিত python2.6এবং তারপরে, নতুন এনএনভি সক্রিয় করার পরে, আপনার প্রয়োজনীয় কোনও সাইট প্যাকেজগুলির নতুন সংস্করণ ইনস্টল করতে এর python2.6এবং এটি ব্যবহার করুন easy_install। সাবধান থাকুন যে পথের নামটি virtualenvপরিবেশের মধ্যে বিভিন্ন ফাইলগুলিতে শক্ত হয়ে গেছে, সুতরাং, আপনি যখন এটিতে স্যুইচ করতে প্রস্তুত হন, হয় নতুন স্ট্র্যাপের স্ক্রিপ্টস এট আল পরিবর্তন করে নতুন virualenvপাথটি অনুলিপি করার বিষয়ে খুব সাবধানতা অবলম্বন করুন পুরাতন ডিরেক্টরি এবং এর ভিতরে পথের নামগুলি সংশোধন করে।


3

CentOS এ একটি দ্বিতীয় পাইথন ইনস্টল করুন

  1. অজগর ডাউনলোড করুন
  2. স্থানীয়ভাবে আলাদা করতে ইনস্টল করুন

    configure --prefix=/opt/virtualenv/python 
    make && make install
    
  3. নতুন অজগর ব্যবহার করে ভার্চুয়াল এনভিভি তৈরি করুন

    virtualenv /opt/virtualenv --python=/opt/python276/bin/python
    

    দ্রষ্টব্য: প্রয়োজনে এটি অন্য কোনও ব্যবহারকারীর সাথে করা যায়

    chown pyuser -R /opt/virtualenv
    su - pyuser
    source /opt/virtualenv/bin/activate
    python -v
    
  4. ভার্চুয়াল এনভিভি তৈরি করুন:

    virtualenv /opt/virtualenv
    su - infograficos
    source bin/activate
    
  5. পাইথন ২.7 দিয়ে পাইপ ইনস্টল করুন (ভ্যুচুয়ালেনভের অভ্যন্তরে)

    easy_install pip 
    

0

আপনি OS X ব্যবহার করেন, তাহলে চেষ্টা এই আপনি একটি ছোটখাট-বর্ধিত সংস্করণ (যেমন 2.7.6 2.7.8 পর্যন্ত) যখন পালন তৃতীয় পক্ষের লাইব্রেরি কাজ পাইথন আপগ্রেড করতে চাচ্ছেন।

এটি আমার পক্ষে জাজানো ইনস্টল থাকা 5 টি ভিন্ন ভার্চুয়াল পরিবেশে কাজ করে।

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