বর্তমান ভার্চুয়ালেনভের নাম কীভাবে প্রদর্শন করবেন?


20

আমি ব্যবহার করছি virtualenv, virtualenvwrapper, zsh, oh-my-zsh, টারমিনেটর, Crunchbang উপর।

আমি বর্তমানের নামটিও virtualenvএভাবে প্রদর্শন করার চেষ্টা করছি

workon example
(example)... 

আমি অনেকগুলি সমাধান চেষ্টা করেছি যার মধ্যে কেউ কাজ করছে বলে মনে হচ্ছে না, এটি আমার .zshrc ফাইল, আমি জানি এটি ঠিক করা কোনও বড় বিষয় নয় তবে আমি সঠিক সমাধান খুঁজে পাই না। জ্যাঙ্গো বিকাশের জন্য লিনাক্সের সর্বশেষ সময় ব্যবহার করার পরে অনেক দিন হয়ে গেছে, আমি যা করতে ভুলে গেছি।

এখনই, আমি দেখছি username@crunchbang, আমি কোন ভার্চুয়ালেনভ ব্যবহার করছি তা বলতে পারি না।


আমি বিশ্বাস করি আপনি কীভাবে আপনার প্রম্পট সেট করবেন তা জিজ্ঞাসা করছেন যাতে এটি প্রদর্শিত হয় যে আপনি কোন ভার্চুয়ালেনভ আছেন, সঠিক?
slm

@ এসএমএল হ্যাঁ ঠিক
লিনব

উত্তর:


11

শেলের প্রম্পট

আপনার virtualenvপরিবেশের ভিতরে একটি ফাইল রয়েছে bin/activate,। আপনি নিজের প্রম্পটটিকে যা দেখতে চান তা পরিবর্তন করতে এই ফাইলটি সম্পাদনা করতে পারেন। বিশেষত ফাইলটির এই বিভাগ:

...
else
    PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
fi
...

ভেরিয়েবল PS1হ'ল একটি বিশেষ পরিবর্তনশীল যা শেলের প্রম্পটটির মতো দেখতে নিয়ন্ত্রণ করে। এর মান পরিবর্তন করা আপনার virtualenvপ্রম্পট পরিবর্তন করবে :

PS1="(this is my prompt) "

উদাহরণ

  1. একটি নমুনা পরিবেশ তৈরি করুন।

    $ virtualenv tst-env
  2. আপনি যখন ব্যবহার করছেন তখন virtualenvসাধারণত এই ফাইলটি উত্স করে থাকেন ।

    $ cd $HOME/tst-env
    
    $ source bin/activate
    (tst-env)[saml@grinchy tst-env]$ 
  3. পরিবর্তনশীল উপরে পরিবর্তন করার পর PS1bin/activateফাইল আমার প্রম্পট এখন এই হল:

    $ source bin/activate
    (tst-env)

এটি কীভাবে করবেন সে সম্পর্কে সরকারী নির্দেশাবলী এখানে


এখনই এটি চেষ্টা করে দেখুন, এটি ঠিক করেননি
লাইনব

এখানে আমার অ্যাক্টিভেট করা ফাইল পেস্টবিন.
com

আপনি যখন activateফাইলটি উত্স করেন তখন কি হয় ? আপনার ফাইলটি আমার পক্ষে ভাল কাজ করেছে।
slm

আমি কোনও আউটপুট দেখতে পাচ্ছি না, তাই আমি কী বলতে পারি তা বলতে পারছি virtualenvনা, আমি ছাড়া কিছুই কাজ করছে না কিছুই, সম্ভবত এটি .zshrcইস্যু নাকি virtualenvwrapper? এই সমস্যাটি ডিবাগ করা যায়? দয়া করে মনে রাখবেন আমার কাছে 2 টি ভাইরাসালভ এক্সিকিউটেবল ফাইল রয়েছে, এটি সাধারণ virtualenvএবং virtualenv-2.7এটি কি স্বাভাবিক বা virtualenvদুবার ডাউনলোড হয়েছে? এবং এটি গুরুত্বপূর্ণ হিসাবে আমি ভার্চুয়ালেনভ এবং ভার্চুয়ালনেভ্রাপার ইনস্টল করেছিsudo pip install virtualenv
লিনব

@ ফিশার - আমি এটি ব্যবহার করে মাত্র দুবার পরীক্ষা করে দেখেছি zshএবং এটিও এটির সাথে কাজ করে, সুতরাং এটি সম্ভবত enর্ষাণী । সমস্যা. আসুন আপাতত 2 ভার্চুয়ালেনভের সেটআপগুলি উপেক্ষা করুন। ডিবাগ করতে আপনি এটি সক্ষম করতে পারবেন set -x, আপনার শেলের মধ্যে এবং তারপরে source activateকমান্ডটি আবার চালাতে পারেন । PS1=প্রম্পট সেট হয়ে যাচ্ছে সেখানে আপনার লাইনগুলি দেখতে হবে ।
slm

3

আপনি যদি ব্যবহার করছেন virtualenvwrapperএবং zshআপনার ~/.virtualenvs/ডিরেক্টরিতে বেশ কয়েকটি zsh হুক রয়েছে যা আপনি আপনার পরিবেশটি কাস্টমাইজ করতে ব্যবহার করতে পারেন। এগুলি সম্পর্কে কিছুটা তথ্য এখানে দেওয়া হল। আপনি PS1এটিতে একটি আপডেট জোর করতে পারেন যা যোগ করে virtualenvআপনার শেল প্রম্পটে বর্তমান কাজটি প্রিপেন্ড করবে :

_OLD_VIRTUAL_PS1=$PS1
PS1="(`basename \"$VIRTUAL_ENV\"`) $PS1"
builtin \export PS1

to ~/.virtualenvs/postactivate। আপনি যখন ট্যাগ অপসারণ করতে deactivate, যোগ করুন:

PS1=$_OLD_VIRTUAL_PS1
builtin export PS1

প্রতি ~/.virtualenvs/postdeactivate

এটিকে কেবল ভেঙে ফেলা উচিত ( ~/.zshrcক) এটি কাজ করার সময় রিসোর্সিংvirtualenv


আমি বিশ্বাস করি আপনি পোস্ট-অ্যাক্টিভেট স্ক্রিপ্টের একটি ভুল আছে। এটি পিএস 1 = $ _ ওলডি_ভিআরটিউয়াল_পিএস 1 বিল্টিন-এক্সপোর্ট পিএস 1 পড়তে হবে
গ্রেগ

virtualenvwrapper ইতিমধ্যে এটি এখন ডিফল্টরূপে করে। ভার্চুয়ালেনভ্রাপার দ্বারা তৈরি ভেন্টে, বিন / অ্যাক্টিভেট স্ক্রিপ্টে ভেভ নামটি zsh এবং ব্যাশ উভয় প্রম্পটে প্রি-পেন্ড করার কোড রয়েছে!
এরিক ওয়েস্টরপ

2

আপনার নিজের সম্পাদনা করতে হবে না ~/.zshrc

যেহেতু আপনি এটি নিয়ে কাজ করছেন ফাইলগুলিতে virtualenvwrapperবিকল্প বা হুক যুক্ত করা সম্ভব $WORKON_HOME/post(de)activate

আপনি যদি আরও বিশদ দেখতে চান তবে এখানে পরামর্শ করুন

উপরের লিঙ্কটি আমাকে পরবর্তী করার অনুমতি দেয়:

আমার ক্ষেত্রে $WORKON_HOME=~/Envsকারণ যখন আমি ভার্চুয়ালেনভ্রাপার ইনস্টল করেছি তখন আমি এই পথটি পরিবর্তন করেছি; যদি আপনার না থাকে তবে আপনার ফোল্ডারটি থাকা উচিত ~/.virtualenvs

  1. postactivateঅবস্থিত ফাইলটি খুলুন$WORKON_HOME

  2. এই লাইনগুলি যুক্ত করুন:

    PS1="$_OLD_VIRTUAL_PS1"
    _OLD_RPROMPT="$RPROMPT"
    RPROMPT="%{${fg_bold[white]}%}(env: %{${fg[green]}%}`basename \"$VIRTUAL_ENV\"`%{${fg_bold[white]}%})%{${reset_color}%} $RPROMPT"
  3. সংরক্ষণ করুন এবং উপভোগ করুন!

    আপনি এই জাতীয় কিছু পাবেন: সম্পন্ন

  4. (বিকল্প) আপনি চাইলে postdeactivateএই লাইনটি যুক্ত করতে ফাইলটি সম্পাদনা করতে পারবেন :

    RPROMPT="$_OLD_RPROMPT"


0

আমি কেবল এটি ওবুন্টু 14.04 এ পরীক্ষা করে দেখি এবং আমারও একই সমস্যা ছিল। এটি ঠিক করার জন্য এটি আপনার .zshrc এ যুক্ত করুন

source /usr/share/virtualenvwrapper/virtualenvwrapper.sh

বা টার্মিনাল এ এটি চালান

echo source /usr/share/virtualenvwrapper/virtualenvwrapper.sh >> ~/.zshrc

ম্যাক ওএস একাদশে করতে হয়েছিল

echo source /usr/local/bin/virtualenvwrapper.sh >> ~/.zshrc

0

আপনি থিম যে ব্যবহৃত হচ্ছে জানেন তাহলে, আপনি সক্রিয় VIRTUAL_ENV বেস নাম পুনরুদ্ধার করতে এবং এটি ব্যবহার করতে একটি ফাংশন যোগ করতে পারেন প্রম্পটে মধ্যে পরিবর্তনশীল * .zsh-থিম ~ / .oh-মাই-zsh / থিম এ অবস্থিত ফাইল / এবং যে কৌশল করা উচিত!

আমার জন্য এটি ডিফল্ট 'ওহ-মাই-জিএসএস' থিম অর্থাৎ 'রববিরাসেলস' যা কনফিগার করা হয়েছিল।

function virtualenv_info {
    [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') '
}

local ret_status="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ )"
PROMPT='${ret_status} $(virtualenv_info) %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)'

উপরের কোড যুক্ত করা নীচের ফলাফল উত্পন্ন:

এখানে চিত্র বর্ণনা লিখুন

(কুঙ্ককা.কম) হ'ল ভার্চুয়ালেনভ যা আমি সবেমাত্র নিষ্ক্রিয় করেছি।

থিম ফাইল সম্পাদনা করার পরে .zshrc ফাইলটি উত্স করতে ভুলবেন না।

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