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


1

আমার সিস্টেমটি রেডহ্যাট 5 লিনাক্স এবং ডিফল্ট পাইথন 2.4 ইনস্টল করা আছে। মার্চুরিয়াল ১.৮১ কার্যকর করার জন্য , আমি পাইথনটিকে ২.৪ থেকে ২.6 এ উন্নীত করার চেষ্টা করেছি এবং আমি ভেবেছিলাম আমি এটি একটি অন্য ডিরেক্টরিতে সংরক্ষণ করেছি। আমি থেকে কঠিন লিংক করা আছে পাইথন 2.6 থেকে পাইথন । এখন, আমি এটি সরিয়ে ফেলেছি এবং সংস্করণ বিরোধী এড়ানোর জন্য পাইথনটি ২.৪- এ ফিরে নির্দেশ করব ।

পাইথন এবং পাইথন ২.6 এর মধ্যে থাকা হার্ড লিঙ্কটি সরিয়ে দিতে আমি যে কমান্ডটি ব্যবহার করেছি তা এখানে :

find -xdev -samefile /usr/bin/python | xargs rm

তারপরে আমি আদেশগুলি ব্যবহার করেছি:

 ln -s /usr/bin/python2.4 /usr/bin/python
 ln -s /usr/bin/python2.6 /usr/local/bin/python
 export PATH=/usr/local/bin:$PATH
 Change first line of hg to #!/usr/bin/env python
 PYTHONHOME=/usr/lib/python2.6
 PYTHONPATH=/usr/lib/python2.6 

তারপরে যখন আমি "হোথিস পাইথন" টাইপ করি, ফলাফলগুলি এখানে।

python: /usr/bin/python2.4 
/usr/bin/python 
/usr/lib/python2.4 
/usr/lib/python2.6 
/usr/local/bin/python 
/usr/include/python2.4 
/usr/include/python2.6 
/usr/share/man/man1/python.1.gz

তারপরে যখন আমি টাইপ করলাম which python, তখন এটি নির্দেশ করে usr/bin/python। আমি টাইপ করার সময় python -V, এটি দেখায় python 2.4.3। এটি 2.4.3-এ ফিরে যাওয়ার ইঙ্গিত দিচ্ছে বলে মনে হচ্ছে । তারপরে, যখন আমি কমান্ডটি ব্যবহার করি

python -c "import sys; print '\n' .join(sys.path)"

এটি দেখিয়েছে

 /usr/lib64/python24.zip
    /usr/lib64/python2.4
    /usr/lib64/python2.4/plat-linux2
    /usr/lib64/python2.4/lib-tk
    /usr/lib64/python2.4/lib-dynload
    /usr/lib64/python2.4/site-packages
    /usr/lib64/python2.4/site-packages/Numeric
    /usr/lib64/python2.4/site-packages/gtk-2.0
    /usr/lib/python2.4/site-packages

টাইপ করে আমি পাইথন ২.6 এর পথ খুঁজে বের করার চেষ্টা করেছি find / -name python2.6, এটি দেখায়

/usr/include/python2.6
/usr/lib/python2.6
/usr/lib64/python2.6

আমার প্রশ্নগুলি এখানে:

  1. আমি কীভাবে উপরের অন-লাইনার থেকে ফলাফলগুলিকে পাইথন ২.6 এ পরিবর্তন করতে পারি ?
  2. আমি কেন /usr/bin/python2.6বা এর মতো কোনও ডিরেক্টরি খুঁজে পাচ্ছি না /usr/local/bin/python2.6? এর অর্থ কি আমি আমার অজগরটি ২.6 ইনস্টল করে ভুলভাবে বা দুর্ঘটনাক্রমে ডিরেক্টরিটি সরিয়েছি? আমি যে কমান্ডগুলি দিয়েছি সেগুলি থেকে প্রাপ্ত ফলাফলগুলি সম্পর্কে কিছু ভুল আছে?
  3. "Hg পুশ" ব্যবহার করার সময় সিস্টেমটি কীভাবে পাইথন ২.6 কার্যকর করতে পারে তার কোনও ধারণা ?
  4. আমি কি আবার / ইউএসআর / লোকাল / বিনে পাইথনটি ২.6 ইনস্টল করব ?

মার্কুরিয়াল, এমনকি মার্কুরিয়াল ২.১ এর কোনও সংস্করণ চালানোর জন্য আপনার কেবল পাইথন ২.৪ প্রয়োজন। আপনি কি এসএসএল শংসাপত্রগুলি যাচাই করার জন্য আরও ভাল সমর্থন পেতে পাইথন ২.6 ব্যবহার করার চেষ্টা করছেন?
মার্টিন গিজার

আমি যখন "এইচজি পুশ" এর মতো কমান্ড ব্যবহার করেছি, সিস্টেমটি "গর্ভপাত: শংসাপত্র পরীক্ষার জন্য পাইথন ২.6 প্রয়োজন" এর মতো একটি ত্রুটি বার্তা দিয়ে অভিযোগ করেছিল। আমি ধরে নিলাম এর অর্থ পাইথনের ২.6 প্রয়োজন বা আমি ভুল? ধন্যবাদ
ক্যাসি

পাইথন ২.6 এসএসএল শংসাপত্রগুলি পরীক্ষা করতে হবে। আমি এটি বিস্মিত হয়ে কিছুটা আশ্চর্য হয়েছি, তবে আপনি hg push --insecureমার্চুরিয়ালকে জানাতে চেষ্টা করতে পারেন যে আপনি আপনার পাইথনের সাথে শংসাপত্রগুলি যাচাই করতে পারবেন না। আমি মনে করি আপনি হোস্ট ফিঙ্গারপ্রিন্টটিও কনফিগার করতে পারেন , উইকি পৃষ্ঠাটি দেখুন
মার্টিন গিজার

হাই আপনাকে অনেক ধন্যবাদ ~। আমি "এইচজি পুশ - আইন সুরক্ষা" চেষ্টা করেছি t এটি শংসাপত্রগুলির ত্রুটি এড়ানো হয়েছে এবং আমাকে সফলভাবে ধাক্কা দিন let আমি যদি এইচজি পুশ - সুরক্ষা ব্যবহার করি তবে কি কোনও সমস্যা হবে?
ক্যাসি

@ রায়স্তফেরিয়ান আপনি কি পোস্ট করা প্রশ্ন সম্পাদনা করতে সহায়তা করেছিলেন? আপনাকে অনেক ধন্যবাদ, :)
ক্যাসি

উত্তর:


0
  1. ইনস্টল করুন virtualenv এবং virtualenvwrapper (easy_install আমার জন্য কাজ, কিন্তু ভুলে লাইন যোগ করতে না source /usr/local/bin/virtualenvwrapper.shআপনার শেল প্রারম্ভে স্ক্রিপ্ট এবং তারপর প্রারম্ভে স্ক্রিপ্ট উৎস মোড়কের ব্যবহার করতে)
  2. চালান mkvirtualenv -p /usr/lib/python2.6 ENVNAME( ENVNAMEআপনি যেটির নামকরণ করতে চান তা কোথায় , সম্ভবত hg?)
  3. যোগ workon ENVNAMEআপনার শেল init স্ক্রিপ্ট করার জন্য (.profile, ইত্যাদি। * Shrc,)

এখন আপনার সিস্টেমটি এখনও ২.৪ ব্যবহার করতে সক্ষম হবে এবং আপনার সমস্ত শেল ২.6 ব্যবহার করবে। সাবধানতা অবলম্বন করুন, কারণ এটি অন্যান্য সিস্টেম-ইনস্টল থাকা অ্যাপ্লিকেশনগুলিতে কলগুলি ভেঙে দিতে পারে, যদি তাদের ভার্চুয়াল পরিবেশে নির্ভরতা না থাকে। তবে, যেহেতু আপনার কাছে এখন পাইপ রয়েছে তাই সহজেই pip install $WHATEVER_IS_MISSING(বা deactivateআপনার ভার্চুয়াল পরিবেশ থেকে বেরিয়ে আসার জন্য কমান্ড চালানো , আপনার কাজটি করা, এবং workonআপনি যেখানে ছিলেন সেখানে ফিরে যাওয়া) সহজ হওয়া উচিত।

আপনি যদি hg উদাহরণগুলি শেলের বাইরে প্রক্রিয়া দ্বারা সূচিত করে থাকেন (উদাহরণস্বরূপ ফাইল ম্যানেজার একীকরণ?) তবে আমি এই ছোট স্ক্রিপ্টটি আপনার পথে রাখার পরামর্শ দিয়েছি এবং পরিবর্তে সেই প্রক্রিয়াগুলি কনফিগার করার পরামর্শ দিচ্ছি।

#!/bin/bash # or whatever your shell is
workon ENVNAME
hg $*

(দ্রষ্টব্য, আপনি লাইনের চেয়ে আপনার আরআর স্ক্রিপ্টে আগে (ENVNAME)সেট করে প্রম্পটটি অক্ষম করতে পারেন )VIRTUAL_ENV_DISABLE_PROMPTworkon

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