উবুন্টুতে পাইথন 3.3 দিয়ে ভার্চুয়ালেনভ কীভাবে তৈরি করবেন?


46

আমি যথার্থ প্যাঙ্গোলিন amd64 চালাচ্ছি। আমি পিপিএ থেকে পাইথন ৩.৩ ইনস্টল করেছি: fkrull / deadsnakes।

এখন আমি আসলে এই নতুন পাইথন সংস্করণটি ভার্চুয়ালেনভে ব্যবহার করতে চাই । তবে আমি কীভাবে এটি করতে পারি? আমি নিম্নলিখিত ত্রুটি পেয়েছি:

$ virtualenv --no-site-packages --distribute -p /usr/bin/python3.3 ~/.virtualenvs/pywork3
Running virtualenv with interpreter /usr/bin/python3.3
The --no-site-packages flag is deprecated; it is now the default behavior.
New python executable in /home2/USERNAME/.virtualenvs/pywork3/bin/python3.3
Also creating executable in /home2/USERNAME/.virtualenvs/pywork3/bin/python
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/site.py", line 73, in <module>
    __boot()
  File "/usr/local/lib/python2.7/site-packages/site.py", line 2, in __boot
    import sys, imp, os, os.path   
ImportError: No module named 'imp'
ERROR: The executable /home2/USERNAME/.virtualenvs/pywork3/bin/python3.3 is not functioning
ERROR: It thinks sys.prefix is '/home2/USERNAME/.virtualenvs' (should be '/home2/USERNAME/.virtualenvs/pywork3')
ERROR: virtualenv is not compatible with this system or executable

পরিবর্তে, আমি স্পষ্টতই python3.3ভার্চুয়ালেনভ কল করতে ব্যবহার করি, আমি এই ত্রুটিটি পেয়েছি:

$ python3.3 /usr/bin/virtualenv --no-site-packages --distribute -p /usr/bin/python3.3 ~/.virtualenvs/pywork3
Traceback (most recent call last):
  File "/usr/bin/virtualenv", line 2, in <module>
    import virtualenv
ImportError: No module named 'virtualenv'

আমি আটকে গেছি. কোন সাহায্য ব্যাপকভাবে প্রশংসা করা হয়!

সম্পাদনা: @ থেফোর্তেয়ের পরামর্শ অনুসরণ করে, আমি আমার স্থানীয় site-packagesডিরেক্টরিটি পরিষ্কার করেছি (কার্যকরভাবে কেবল মোছা site.py)। এখন আমি আরও একধাপ এগিয়ে চলেছি, তবে ভ্যুচুয়ালেনভ নিখোঁজ হওয়ার বিষয়ে অভিযোগ করেছেন easy_install:

 Error [Errno 2] No such file or directory:   
'/home2/USERNAME/.virtualenvs/pywork3/bin/easy_install' while executing command    
/home2/USERNAME/.virt...rk3/bin/easy_install /usr/share/python-virtualenv/pip-1.1.tar.gz

আমি প্যাকেজটি ইনস্টল করেছি python3-setuptools, যা Easy_install এর পাই 3 সংস্করণ ইনস্টল করে।

EDIT2:

স্পষ্টভাবে পাস না করে --distributeএবং ভার্চিজ আউটপুটটি এখানে --no-site-packages, যেহেতু এই দুটি স্যুইচগুলি আমার ভার্চুয়ালেনভের ডিফল্ট আচরণ :

$ virtualenv --verbose -p /usr/bin/python3.3 ~/.virtualenvs/pywork3
Running virtualenv with interpreter /usr/bin/python3.3
Creating /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3
Symlinking Python bootstrap modules
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/config-3.3m
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/lib-dynload
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/os.py
  Ignoring built-in bootstrap module: posix
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/posixpath.py
  Cannot import bootstrap module: nt
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/ntpath.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/genericpath.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/fnmatch.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/locale.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/encodings
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/codecs.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/stat.py
  Cannot import bootstrap module: UserDict
  Cannot import bootstrap module: copy_reg
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/types.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/re.py
  Cannot import bootstrap module: sre
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/sre_parse.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/sre_constants.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/sre_compile.py
  Ignoring built-in bootstrap module: zlib
  Cannot import bootstrap module: _abcoll
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/warnings.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/linecache.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/abc.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/io.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/_weakrefset.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/copyreg.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/tempfile.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/random.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/__future__.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/collections
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/keyword.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/tarfile.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/shutil.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/struct.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/copy.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/base64.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/bisect.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/_dummy_thread.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/hashlib.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/heapq.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/hmac.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/reprlib.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/rlcompleter.py
  Symlinking /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/weakref.py
Creating /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/site-packages
Writing /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/site.py
Writing /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/orig-prefix.txt
Writing /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/no-global-site-packages.txt
Creating parent directories for /home2/USERNAME/.virtualenvs/pywork3/include
Symlinking /home2/USERNAME/.virtualenvs/pywork3/include/python3.3m
Creating /home2/USERNAME/.virtualenvs/pywork3/bin
New python executable in /home2/USERNAME/.virtualenvs/pywork3/bin/python3.3
Changed mode of /home2/USERNAME/.virtualenvs/pywork3/bin/python3.3 to 0o755
Also creating executable in /home2/USERNAME/.virtualenvs/pywork3/bin/python
Changed mode of /home2/USERNAME/.virtualenvs/pywork3/bin/python to 0o755
Testing executable with /home2/USERNAME/.virtualenvs/pywork3/bin/python3.3 -c "
import sys
prefix = sys.prefix
if sys.version_info[0] == 3:
    prefix = prefix.encode('utf8')
if hasattr(sys.stdout, 'detach'):
    sys.stdout = sys.stdout.detach()
elif hasattr(sys.stdout, 'buffer'):
    sys.stdout = sys.stdout.buffer
sys.stdout.write(prefix)
"
Got sys.prefix result: '/home2/USERNAME/.virtualenvs/pywork3'
Creating /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/distutils
Writing /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/distutils/__init__.py
Writing /home2/USERNAME/.virtualenvs/pywork3/lib/python3.3/distutils/distutils.cfg
Using existing distribute egg: /usr/share/python-virtualenv/distribute-0.6.24.tar.gz
Installing distribute..............................................................................................................................................................................................................................................................................................................................................................................................................done.
Installing existing pip-1.1.tar.gz distribution: /usr/share/python-virtualenv/pip-1.1.tar.gz
Installing pip...
  Error [Errno 2] No such file or directory: '/home2/USERNAME/.virtualenvs/pywork3/bin/easy_install' while executing command /home2/USERNAME/.virt...rk3/bin/easy_install /usr/share/python-virtualenv/pip-1.1.tar.gz
...Installing pip...done.
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/virtualenv.py", line 2283, in <module>
    main()
  File "/usr/lib/python2.7/dist-packages/virtualenv.py", line 938, in main
    never_download=options.never_download)
  File "/usr/lib/python2.7/dist-packages/virtualenv.py", line 1054, in create_environment
    install_pip(py_executable, search_dirs=search_dirs, never_download=never_download)
  File "/usr/lib/python2.7/dist-packages/virtualenv.py", line 643, in install_pip
    filter_stdout=_filter_setup)
  File "/usr/lib/python2.7/dist-packages/virtualenv.py", line 976, in call_subprocess
    cwd=cwd, env=env)
  File "/usr/lib/python3.3/subprocess.py", line 818, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.3/subprocess.py", line 1416, in _execute_child
    raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: '/home2/USERNAME/.virtualenvs/pywork3/bin/easy_install'

শুধু স্বচ্ছতা দোহাই জন্য, আপনি এই কমান্ড (ব্যতীত চেষ্টা করে দেখতে পারেন distribute): virtualenv --no-site-packages -p /usr/bin/python3.3 ~/.virtualenvs/pywork3?
don.joey

আমি --setuptoolsপাশাপাশি চেষ্টা করেছি, এবং ফলাফল হুবহু একই (বিতরণের ইনস্টলেশন সহ)।
Andreas-h

14.04 এ সমস্ত কিছু ব্যথাহীনভাবে কাজ করে।
অ্যান্টি হাপালা

উত্তর:


25
  1. সাইট-প্যাকেজগুলির ব্যাকআপ নিন।

    cp -r /usr/local/lib/python2.7/site-packages/ /tmp/site-packages

  2. ডিরেক্টরিটি কেটে দিন

    rm -rf /usr/local/lib/python2.7/site-packages/

  3. এখন একই চেষ্টা করুন

    virtualenv --no-site-packages --distribute -p /usr/bin/python3.3 ~/.virtualenvs/pywork3

  4. পিপ ছাড়াই ইনস্টল করতে

    virtualenv --no-site-packages --distribute -p /usr/bin/python3.3 ~/.virtualenvs/pywork3 --no-pip

সম্পাদনা: দেখে মনে হচ্ছে ভার্চুয়ালেনভের সংস্করণ (1.7.1.2) এবং পাইথন 3.3 সামঞ্জস্যপূর্ণ নয়। সুতরাং, দয়া করে এটি চেষ্টা করুন

  1. পাইথন-ভ্যুচুয়ালেনভ ব্যবহার করে আনইনস্টল করুন sudo apt-get remove python-virtualenv

  2. wget http://peak.telecommunity.com/dist/ez_setup.py; sudo python ez_setup.py এটি সর্বশেষতম ইজি_ ইনস্টল ইনস্টল করবে।

  3. sudo easy_install pip

  4. sudo pip install virtualenv

  5. virtualenv --no-site-packages --distribute -p /usr/bin/python3.3 ~/.virtualenvs/pywork3


আকর্ষণীয়, এখন আমি আরও একধাপ এগিয়ে চলেছি, তবে এখনও সেখানে পুরোপুরি নেই। আমার আপডেট হওয়া প্রশ্নটি দেখুন
Andreas-h

আমি ভার্চুয়ালেনভ কোডটি দিয়ে যাচ্ছি। এটি সহায়ক হবে, যদি আপনি একই আদেশটি বর্ধিত ভার্বোসিটি সহ কার্যকর করতে পারেন এবং আমাদের সম্পূর্ণ আউটপুট দেখান। virtualenv --no-site-packages --distribute -p /usr/bin/python3.3 ~/.virtualenvs/pywork3 --verbose
thefourtheye

বুঝেছি, আমার আপডেট হওয়া প্রশ্নটি দেখুন।
Andreas-h

দুই ঘণ্টারও বেশি সময় ধরে বিশ্লেষণ করা হয়েছে। দেখে মনে হচ্ছে বিতরণটি বিন ডিরেক্টরিতে ইজিবল ইনস্টল স্ক্রিপ্টগুলি ইনস্টল করে না। আমরা সেগুলি পরে ম্যানুয়ালি ইনস্টল করতে পারি। সুতরাং কেবল
ভার্চুয়ালেনভ

1
পরিবর্তে নিজে virtualenv ইনস্টল করার, আমি শুধু থেকে উবুন্টু এক পায়ে খাড়া জন্য .dev packge ডাউনলোড করা packages.ubuntu.com/raring/all/python-virtualenv/download এবং মাধ্যমে এটি ইনস্টল করা dpkg -i। এখন কাজ মনে হচ্ছে। অনেক ধন্যবাদ!
Andreas-h

58

পাইথন ৩.৩-এ অন্তর্নির্মিত ভেন্ট রয়েছে।

http://docs.python.org/3/library/venv.html#module-venv

সহজভাবে চালান

pyvenv-3.3 /path/to/environment

এবং তারপরে এটি সক্রিয় করতে

source /path/to/environment/bin/activate

ভার্চুয়ালেনভের এই অন্তর্নির্মিত সংস্করণটি আপনি সম্ভবত ব্যবহার করছেন তার চেয়ে অনেক বেশি নমনীয়। উদাহরণস্বরূপ, আপনি এনভিল্ডারকে যা খুশি তাই করতে প্রসারিত করতে পারেন। আপনি নীচের লিঙ্ক থেকে EnvBuilder একটি উদাহরণ বাস্তবায়ন কপি করে নিয়ে খেলা করতে পারেন: http://docs.python.org/3/library/venv.html#an-example-of-extending-envbuilder

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

আপনি এখনও বিভ্রান্ত থাকলে কীভাবে চলতে হবে সে সম্পর্কে স্পষ্টতার জন্য নীচে @ মারকফসাইন এর সম্পাদনাগুলি দেখুন।


উপরোক্তগুলিতে এবং ডক্স অনুসারে যুক্ত করতে:
উদাহরণস্বরূপ, মৃত্যুদন্ড কার্যকর করার পরে: pyvenv-3.3 /path/to/my_project/venv
আপনি চালাতে পারেন distribute_setup.pyযা বিভিন্ন কাজ করে বলে মনে হচ্ছে তবে মূলত আপনি easy_installনিজের ./my_project/venv/binডিরেক্টরিতে শেষ করে দিতে পারেন ।
এরপরে এটি ইনস্টল করতে pipএবং এর মতো ব্যবহার করতে পারে ।

এটি আপনাকে কোথা distribute_setup.pyথেকে পাওয়া উচিত তা বলে না , তাই আমি এখান থেকে ডাউনলোড করেছি:

http://python-distribute.org/distribute_setup.py

এবং সক্রিয় পরিবেশ ব্যবহার:

cd /path/to/my_project
source venv/bin/activate

দৌড়ে:

python distribute_setup.py

এবং

easy_install pip

এরপরে পাইথন ২.x তে ভার্চুয়ালেনভের সাথে আরও ভার্চুয়াল পরিবেশের সেটআপ সম্পন্ন হয়েছে


2
সুন্দর একটি - আমি এটি সম্পর্কে অবগত ছিলাম না ...
andreas-h

1
প্রকৃতপক্ষে, এটি একটি "বাস্তব" গুণমানবান বলে মনে হচ্ছে না v এটি সক্রিয় করার পরে পাইপ বা সহজ_ইনস্টল নেই।
andreas-h

@ andreas-h আপনার নিজের এটি ইনস্টল করা দরকার। এটি এটি "বাস্তব" নয় doesn't
ক্রিস

1
@ andreas-h এছাড়াও, এটি এমনভাবে তৈরি করা হয়েছে যাতে আপনি নিজের যা চান তা যুক্ত করতে একটি স্ক্রিপ্ট তৈরি করতে পারেন .. দেখুন ডকস.পিথন.আর
ক্রিস

আপনি যখন পাইপ ইনস্টল করার সময় টার্মিনালটি ভুল অনুমতি সম্পর্কে চিৎকার করছেন, আপনি ইজিবল ইনস্টলের সঠিক বাইনারিটি ব্যবহার করছেন কিনা তা পরীক্ষা করুন। আপনি ভার্চুয়ালেনভের মধ্যে বাইনারিটি স্পষ্টভাবে নির্বাচন করতে পারেন ./venv/bin/easy_install pip
অরেঞ্জটাক্স

49

এটি যতটা মনে হয় তার চেয়ে সহজ:

virtualenv -p /usr/bin/python3 yourenv
source yourenv/bin/activate
pip install package-name

সত্যিই কাজ করে :)


5
এটি সঠিক উত্তর হওয়া উচিত
মাইক্রোনিওমো

হ্যাঁ! এটা খুব সহজ ছিল! ধন্যবাদ মানুষ. @ কেম ইল্ডিজ
ফাহাদ

8

আপনি এটি খুব জটিল করছেন। যদি এটি অন্তর্ভুক্ত থাকে তবে python3কেবল এটির সাথে এটি তৈরি করুন:

python3 -m venv

আপনি যদি চান তবে একটি উপাধি তৈরি করতে পারেন

alias virtualenv3='python3 -m venv'

মেশিনের উপর নির্ভর করে আপনার দোভাষীটি নির্দিষ্ট করতে হতে পারে:

alias virtualenv3='python3 -m venv -p python3'

python3-venvকমপক্ষে উবুন্টু 14.04 এ প্যাকেজটিও দরকার।
gioele

আমার জন্য (14.04-এও), প্যাকেজটি কল করা হয়েছিল python3.4-venv
টোবাক

2

আমার জন্য যে পদক্ষেপগুলি কাজ করেছে: ম্যাক ওএসএক্স 10.9.5 এ

  1. পাইথন -৩.৪.৩ ম্যানুয়ালি ডাউনলোড এবং ইনস্টল করুন ।

    P3PATH=/Users/$USER/Python3
    mkdir -p $P3PATH
    cd $P3PATH
    tar -zxvf Python-3.4.3.tgz
    ./configure --prefix=$P3PATH/Python-3.4.3
    make; make install
  2. একটি ভার্চুয়ালেনভ তৈরি করুন।

    $P3PATH/Python-3.4.3/bin/pyvenv py3env
    source py3env/bin/activate

দ্রষ্টব্য: কার্যকর
virtualenv -p <path to python3> py3envহয়নি:

Error due to zlib

এটি ডেবিয়ান 7 (হুইজি) এর ক্ষেত্রেও দুর্দান্ত কাজ করে। ঠিক আর একটি P3PATH
রুবো 77

ডিবিয়ান ভিত্তিক ডিস্ট্রো ইন-কন্টেইনার ব্যবহারকারীদের জন্য, ইনস্টল করার বিষয়টি নিশ্চিত করুন libssl-devএবং zlib1g-devযাতে অজগরটি _ssl.so zlib.so দিয়ে সংকলিত হয়েছে
নেহাল জে ওয়ানী

1
On Ubuntu 14.04 

sudo apt-get install python3-pip

sudo pip install virtualenv

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