सेंटोस में अजगर 2.6 स्थापित करें


85

मेरे पास एक शेल है जो CentOS चलाता है।

मैं कर रहा हूँ एक परियोजना के लिए, मैं अजगर 2.5+ की जरूरत है, लेकिन सेंटोस 2.4 पर बहुत निर्भर है।

मैंने जो पढ़ा है, उससे यदि आप 2.5 में अपग्रेड करते हैं तो कई चीजें टूट जाएंगी।

मैं 2.4 से अलग से 2.5 स्थापित करना चाहता हूं, लेकिन मुझे यकीन नहीं है कि यह कैसे करना है। अब तक मैंने स्रोत टारबॉल डाउनलोड किया है, इसे अनट्रेड किया है, और एक ऐसा ./configure --prefix=/optकिया है, जहां मैं चाहता हूं कि यह समाप्त हो जाए। क्या मैं अब बस कर सकता हूं make, make install? या और भी है?


8
मैं व्यक्तिगत रूप से CentOS अलॉट का उपयोग करता था और RedHat / CentOS वितरण (Python 2.4 ...) के कारण कैसे उबटन में स्विच करता था। यदि आप राजनीतिक रूप से छलांग लगा सकते हैं, तो करें। आप बहुत खुश होंगे और आपको इस प्रकार की चिंता नहीं करनी होगी।
एडम नेल्सन

1
स्रोत से संकलित करें और उन्हें /usr/local(डिफ़ॉल्ट) में स्थापित करने से कोई समस्या नहीं होनी चाहिए। या, और भी बेहतर, ट्रैश सेंटो और डेबियन स्थापित करें: पी
ओ 0 '।

19
है ना? CentOS / RHEL का बिंदु दीर्घकालिक समर्थन है। यदि नवीनतम वितरण पर स्विच करने का विकल्प है तो फेडोरा में स्विच करने से सेंटो पृष्ठभूमि वाले किसी व्यक्ति के लिए उबंटू में स्विच करने की तुलना में अधिक समझ में आता है।
मुहम्मद अलकरौरी

1
बस स्पष्ट होने के लिए, किसी भी व्यंग्यात्मक साइडबार के बिना: हाँ। आप पायथन के एक नए संस्करण को, स्रोत से, / जैसे ही आप सूचीबद्ध करते हैं, को स्थापित कर सकते हैं। या डिफ़ॉल्ट रूप से यह / usr / local / {bin, lib, share, man} में चला जाता है, जो भी बढ़िया काम करता है और अजगर 2.4 के साथ हस्तक्षेप नहीं करेगा, जो अभी भी CentOS 5 में संस्करण है। CentOS 6 python 2.6.6 के साथ आता है।
इकारसएनएम

जवाबों:


79

आप EPEL-repository का उपयोग भी कर सकते हैं , और फिर sudo yum install python26अजगर 2.6 स्थापित करने के लिए करते हैं


8
EPEL का उपयोग कैसे करें: fedoraproject.org/wiki/EPEL/FAQ#howtouse - लेकिन i386 को अपने आर्च से बदलना याद रखें अगर यह 32-बिट x86 नहीं है
rakslice

मेरे लिए काम किया! मैं एक और परियोजना के लिए इन की जरूरत है तो मैं डबल खुश हूँ!
१३:११

1
लगता है पायथन 2.6 एपल में नहीं है।
मुजिमू

1
@ मुमुइमु, मुझे लगता है कि उन्होंने 2.6 को डिफ़ॉल्ट 2.4 पर बनाया है। तो जैसे कमांड yum install python26सिर्फ yum install pythonओएस फ्लेवर / वर्जन पर निर्भर करता है।
जेम्स ओर्वेक 17

31

प्रयास करें

wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
sudo rpm -ivh epel-release-5-4.noarch.rpm
sudo yum install python26

अजगर निष्पादन योग्य पर उपलब्ध होगा /usr/bin/python26

mkdir -p ~/bin
ln -s /usr/bin/python26 ~/bin/python
export PATH=~/bin:$PATH # Append this to your ~/.bash_profile for persistence

अब, pythonकमांड निष्पादित करेगाpython 2.6


अंतिम बिट के लिए धन्यवाद - मैंने अभी python26 स्थापित किया है और सोच रहा था कि कैसे last डिफ़ॉल्ट ’(2.4) को देखें। एक सिम्कलिन बनाना और पथ को समायोजित करना उसने किया।
जय सिदरी १५'१२

यह स्पष्ट रूप से काम करेगा ... एक उपयोगकर्ता के लिए ... जब तक कोई 3.0 या जो कुछ भी के साथ python2.6 को प्रतिस्थापित नहीं करता है ... लेकिन यह ऐसा करने के लिए अनुशंसित तरीका प्रतीत होता है। मुझे यह विश्वास करने में परेशानी हो रही है कि CentOS उपयोग करने के लिए विभिन्न समवर्ती रूप से स्थापित पैकेजों के संस्करण का चयन करने के लिए एक टूल के साथ नहीं आता है (मैं अक्सर जावा, पोस्टग्रैसीक्यूएल और अब अजगर के 2 संस्करणों का सामना करता हूं), config_python -s 2.6 और सब कुछ "जादुई" जैसे कुछ भविष्य में कोने के मामलों के बारे में सोचने वाले उपयोगकर्ता के बिना, पर्दे के पीछे जगह होती है।
टॉमिस्लाव नैक-अल्फेयरविक

मुझे लगता है कि इसका कारण यह है कि मुख्य रूप से सर्वरों के लिए इस्तेमाल किया जाने वाला एंटरप्राइज़ ओएस होने के कारण लोग सेंट ओएस पर ज्यादा विकास नहीं करते हैं। एक बार जब सब कुछ सही तरीके से कॉन्फ़िगर हो जाता है, तो वे सर्वर को कभी-कभी सुरक्षा अपडेट के लिए स्पर्श नहीं करते हैं।
जॉयस बाबू

1
@ TomislavNakic-Alfirevic मैंने अभी तक इसकी कोशिश नहीं की है, लेकिन github.com/yyuu/pyenv आशाजनक लग रहा है। यह स्रोत से सब कुछ बनाता है और प्रत्येक संस्करण को स्वयं की निर्देशिका में स्थापित करता है। ऐसा लगता है कि यह डेवलपर्स द्वारा अपने घर निर्देशिकाओं में स्थापित करने के लिए अधिक लक्षित है, लेकिन बिल्ड को sudo के रूप में चलाया जा सकता है और एक साझा निर्देशिका को लक्षित किया जा सकता है।
मार्क इवांस

@MarkEvans पायथन वास्तव में मेरा मजबूत बिंदु नहीं है, इसलिए मैं आसानी से गलत हो सकता हूं, लेकिन pyenv एक अलग समस्या के समाधान की तरह दिखता है। यदि आपने "अजगर" को "JDK" से बदल दिया है, तो मैं निश्चित रूप से केवल एक जावा ऐप को तैनात करने में सक्षम होने के बारे में रोमांचित नहीं होऊंगा: मैं चाहता हूं कि जेडडीके संस्करण किसी और के साथ संकलित, परीक्षण, पुनर्प्राप्त और परीक्षण किया जाए, जिसके साथ कभी भी संस्करण। CentOS का उपयोग कर रहा हूँ। मैं पायथन में उसी तर्क को लागू करना चाहूंगा। उस ने कहा, मुझे यकीन है कि ऐसे मामले हैं जहां पाइनेव चमकता है, जैसे कि देव। (तैनाती के विपरीत) मशीनों।
टॉमिस्लाव नाकिक-अल्फेयरविक

28

जब मैं इसी तरह की स्थितियों में भाग लेता हूं, तो मैं आमतौर पर पैकेज मैनेजर से बचता हूं, खासकर अगर यह किसी चीज को तोड़ने के लिए शर्मनाक होगा, यानी उत्पादन सर्वर। इसके बजाय, मैं सक्रिय होकर उनके बाइनरी पैकेज को डाउनलोड करूंगा:

https://www.activestate.com/activepython/downloads/

यह एक स्क्रिप्ट चलाकर स्थापित किया जाता है जो सब कुछ एक फ़ोल्डर में रखता है और किसी भी सिस्टम फ़ाइलों को नहीं छूता है। वास्तव में, आपको इसे सेट करने के लिए रूट अनुमति की भी आवश्यकता नहीं है। फिर मैं बाइनरी का नाम बदलकर apy26 जैसा कुछ करता हूं, उस फ़ोल्डर को PATH के अंत में जोड़ देता हूं और कोडिंग शुरू करता हूं। यदि आप apy26 setup.py installvirtualenv और easyinstall का उपयोग करते हैं या इसके साथ पैकेज स्थापित करते हैं, तो आपके पास सिस्टम मानक अजगर को छूने के बिना बस एक अजगर वातावरण जितना लचीला है।

संपादन ... हाल ही में मैंने लिनक्स के लिए एक पोर्टेबल पायथन बाइनरी बनाने के लिए कुछ काम किया है जो किसी भी बाहरी निर्भरता वाले किसी भी डिस्ट्रो पर चलना चाहिए। इसका मतलब यह है कि पोर्टेबल पायथन मॉड्यूल द्वारा आवश्यक किसी भी बाइनरी साझा पुस्तकालयों के निर्माण का हिस्सा है, टारबॉल में शामिल है और पायथन की निजी निर्देशिका संरचना में स्थापित है। इस तरह आप पायथन को स्थापित सिस्टम के साथ हस्तक्षेप किए बिना अपने आवेदन के लिए पायथन को स्थापित कर सकते हैं।

मेरी गितुब साइट में एक बिल्ड स्क्रिप्ट है जिसे उबंटू लुसीड 10.04 एलटीएस पर 32 और 64 बिट इंस्टॉल दोनों पर पूरी तरह से परीक्षण किया गया है। मैंने इसे डेबियन एच पर भी बनाया है, लेकिन यह कुछ समय पहले था और मैं गारंटी नहीं दे सकता कि मैंने कुछ नहीं बदला है। इसका सबसे आसान तरीका यह है कि आप उबंटू ल्यूसिड की अपनी पसंद को एक वर्चुअल मशीन में डाल दें, स्क्रिप्ट को चेकआउट करें git clone git://github.com/wavetossed/pybuild.gitऔर फिर स्क्रिप्ट चलाएं।

एक बार जब आप इसे बना लेते हैं, तो किसी भी हाल के लिनक्स डिस्ट्रो पर टारबॉल का उपयोग करें। एक निर्देशिका के साथ इसे स्थानांतरित करने के साथ एक छोटी सी शिकन है /data1/packages/python272जिसके अलावा patchelfआपको निर्देशिका को स्थानांतरित करने वाले दुभाषिया पथ को सेट करने के लिए शामिल को चलाना होगा । यह किसी भी बायनेरिज़ को प्रभावित करता है/data1/packages/python272/bin

यह सब RUNPATH के साथ निर्माण और आश्रित साझा पुस्तकालयों की नकल पर आधारित है। भले ही स्क्रिप्ट कई फाइलों में हो, लेकिन यह प्रभावी रूप से /etc/rc.d निर्देशिका की शैली में व्यवस्थित एक लंबी शेल स्क्रिप्ट है।


4
मुझे नहीं पता है कि लाइसेंस अतीत में क्या था, लेकिन दुर्भाग्य से अब यह आपको बाहरी-सामना करने वाले सर्वर पर ActivePython का उपयोग करने की अनुमति नहीं देता है जब तक कि आप व्यवसाय संस्करण ($ $ $) नहीं खरीदते हैं। activestate.com/compare-editions
नैट

2
पैकेज प्रबंधक के साथ एक सर्वर को तोड़ने से बचने के लिए आप तीसरे पक्ष के प्रदाता की स्क्रिप्ट पर भरोसा करते हैं? हुह
अकोस्टाडिनोव

26

यम करने या अपने स्वयं के आरपीएम बनाने की आवश्यकता नहीं है। python26स्रोत से बनाएँ

wget https://www.python.org/ftp/python/2.6.6/Python-2.6.6.tgz
tar -zxvf Python-2.6.6.tgz
cd Python-2.6.6
./configure && make && make install

एक निर्भरता त्रुटि उपयोग हो सकता है

yum install gcc cc

इंस्टॉल पथ ( /usr/local/bin/pythonडिफ़ॉल्ट रूप से) में जोड़ें ~/.bash_profile

यह yumया किसी भी अन्य चीजों पर नहीं टूटेगा जो निर्भर हैं python24


1
नोट: काम करने के लिए एसी कंपाइलर की आवश्यकता होती है। ऐसा नहीं लगता है कि कोई सेंटोस 5 के साथ स्टॉक में आता है (कम से कम, मेरे पास पेट पर एक नहीं है)
कोडी एस

कॉन्फ़िगर && कर && कर alt स्थापित ( toomuchdata.com/2014/02/16/how-to-install-python-on-centos )
luismartingil

24

बस इतना ही। आप यह सुनिश्चित करना चाहते हैं कि आपके पास सभी वैकल्पिक लाइब्रेरी हेडर भी स्थापित हैं ताकि आपको इसे बाद में फिर से स्थापित न करना पड़े। मुझे लगता है कि वे प्रलेखन में सूचीबद्ध हैं।

इसके अलावा, आप मानक पथ में भी इसे स्थापित कर सकते हैं यदि आप करते हैं make altinstall। इस तरह यह आपके वर्तमान डिफ़ॉल्ट "अजगर" को ओवरराइड नहीं करेगा।


4
wget python.org/ftp/python/2.6.6/Python-2.6.6.tgz फिर ./configure उन्हें अल्टीमेट करने के लिए
Olivier Refalo

12

क्रिस ली , python26 RPM के लिए एक YUM रिपॉजिटरी प्रदान करता है जो CentOS पर कुछ एडमिन टूल के लिए आवश्यक 'मूल' 2.4 के साथ सह-अस्तित्व में हो सकता है।

कम से कम मेरे लिए काम करने वाले त्वरित निर्देश:

$ sudo rpm -Uvh http://yum.chrislea.com/centos/5/i386/chl-release-5-3.noarch.rpm
$ sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CHL
$ sudo yum install python26
$ python26

3
यह CentOS 5.4 के तहत काम नहीं किया: कोई पैकेज python26 उपलब्ध नहीं है।
जोसेफ ट्यूरियन

3

यदि आप इसे खुद पर आसान बनाना चाहते हैं, तो नेट के आसपास तैरने वाले नए पायथन संस्करणों के लिए CentOS RPM हैं। उदाहरण देखें:

http://www.geekymedia.com/python_26_centos.html


3

जब आप अपने अजगर संस्करण को स्थापित करते हैं (इस मामले में यह python2.6 है) तो यह कमांड जारी करें virtualenv:

virtualenv -p /usr/bin/python2.6 /your/virtualenv/path/here/

2

पार्टी के लिए देर से, लेकिन ओपी बिल्डआउट या वर्चुअनव के साथ जाना चाहिए था , और समस्या को पूरी तरह से समाप्त कर दिया।

मैं वर्तमान में एक Centos सर्वर पर काम कर रहा हूं, ठीक है, मेहनतकश का उचित कार्यकाल होगा और मैं हर किसी को आश्वस्त कर सकता हूं कि जिस तरह से मैं आग कठोर भाले के सॉफ्टवेयर समकक्षों का उपयोग करते हुए आँसू को पलक झपकने में सक्षम हूं, बिल्डआउट है।


2
क्या आप python2.6 स्थापित करने के लिए virtualenv का उपयोग कर सकते हैं जब केवल python2.4 स्थापित हो?
कोलिन एंडरसन

निश्चित रूप से। Virtualenv में - कोई साइट-संकुल विकल्प का उपयोग करें, मेरा मानना ​​है कि, या बिल्डआउट में एक अजगर का निर्माण करें।
4

नहीं, virtualenv सिर्फ अजगर मॉड्यूल / पैकेज और उनके संस्करणों से संबंधित है। यह अभी भी काम कर रहे अजगर इंटरप्रेटर बाइनरी (सिस्टम पर पहले से ही) पर इंगित करने की आवश्यकता है।
जेसन एंटमैन



1
rpm -Uvh http://yum.chrislea.com/centos/5/i386/chl-release-5-3.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CHL
rpm -Uvh ftp://ftp.pbone.net/mirror/centos.karan.org/el5/extras/testing/i386/RPMS/libffi-3.0.5-1.el5.kb.i386.rpm
yum install python26
python26

डॉस के लिए कि बस पता नहीं है: =)


1
# yum groupinstall "Development tools"
# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

Python 3.3.0 को डाउनलोड और इंस्टॉल करें

# wget http://python.org/ftp/python/3.3.0/Python-3.3.0.tar.bz2
# tar xf Python-3.3.0.tar.bz2
# cd Python-3.3.0
# ./configure --prefix=/usr/local
# make && make altinstall

पायथन 3.3 के लिए वितरित और डाउनलोड करें

# wget http://pypi.python.org/packages/source/d/distribute/distribute-0.6.35.tar.gz
# tar xf distribute-0.6.35.tar.gz
# cd distribute-0.6.35
# python3.3 setup.py install

Python 3.3 के लिए virtualenv स्थापित करें और उपयोग करें

# easy_install-3.3 virtualenv
# virtualenv-3.3 --distribute otherproject

New python executable in otherproject/bin/python3.3
Also creating executable in otherproject/bin/python
Installing distribute...................done.
Installing pip................done.

# source otherproject/bin/activate
# python --version
Python 3.3.0

0

मैंने अजगर के मूल संस्करण (२.६.६) को स्थापित किया और २. with (विकल्प के साथ make && make altinstall) स्थापित किया, लेकिन जब मैंने यम के साथ कुछ स्थापित करने की कोशिश की तो काम नहीं किया।

इसलिए मैंने इस मुद्दे को इस प्रकार हल किया:

  1. # ln -s /usr/local/bin/python /usr/bin/python
  2. Http://rpm.pbone.net/index.php3/stat/4/idpl/20270470/dir -centos_6/com/python-2.6 से RPM पैकेज python-2.6.6-36.el6.i686.rpm डाउनलोड करें । 6-36.el6.i686.rpm.html
  3. जड़ के रूप में निष्पादित करें rpm -Uvh python-2.6.6-36.el6.i686.rpm

किया हुआ


-1

सेंटो 7 पर पायथन 3.6 स्थापित करने के लिए टर्मिनल पर निम्नलिखित कमांड टाइप करें:

$ sudo yum install https://centos7.iuscommunity.org/ius-release.rpm

फिर करो :

$ sudo yum install python36u 

आप अपने संस्करण संख्या से केवल 36 की जगह 3.6 (यदि आप चाहें) के बजाय किसी भी संस्करण को स्थापित कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.