Mam powłokę z CentOS.
Do projektu, który robię, potrzebuję Pythona 2.5+, ale centOS jest dość zależny od 2.4.
Z tego, co przeczytałem, wiele rzeczy się zepsuje, jeśli uaktualnisz do 2.5.
Chcę zainstalować 2.5 oddzielnie od 2.4, ale nie jestem pewien, jak to zrobić. Jak dotąd pobrałem archiwum źródłowe, rozpakowałem je i zrobiłem, ./configure --prefix=/opt
co jest tam, gdzie ma się skończyć. Czy mogę teraz po prostu make, make install
? Czy jest więcej?
/usr/local
(domyślnie) nie powinno sprawiać żadnych problemów. Lub, jeszcze lepiej, usuń centos i zainstaluj debian: POdpowiedzi:
Możesz także użyć repozytorium EPEL , a następnie
sudo yum install python26
zainstalować python 2.6źródło
yum install python26
mogą zależeć tylkoyum install python
od smaku / wersji systemu operacyjnego.Wypróbuj epel
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
Plik wykonywalny Pythona będzie dostępny pod adresem
/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
Teraz
python
polecenie zostanie wykonanepython 2.6
źródło
Kiedy spotykam się z podobnymi sytuacjami, generalnie unikam menedżera pakietów, zwłaszcza jeśli byłoby krępujące zepsuć coś, np. Serwer produkcyjny. Zamiast tego poszedłbym do Activestate i pobrałbym ich pakiet binarny:
https://www.activestate.com/activepython/downloads/
Jest to instalowane przez uruchomienie skryptu, który umieszcza wszystko w folderze i nie dotyka żadnych plików systemowych. W rzeczywistości nie potrzebujesz nawet uprawnień roota, aby go skonfigurować. Następnie zmieniam nazwę pliku binarnego na coś takiego jak apy26, dodaję ten folder na koniec PATH i zaczynam kodowanie. Jeśli instalujesz pakiety z
apy26 setup.py install
lub używasz virtualenv i easyinstall, masz tak elastyczne środowisko Pythona, jak potrzebujesz, bez dotykania standardowego systemu python.Edycje ... Ostatnio wykonałem trochę pracy, aby zbudować przenośny plik binarny Pythona dla Linuksa, który powinien działać na dowolnej dystrybucji bez zewnętrznych zależności. Oznacza to, że wszelkie binarne biblioteki współdzielone wymagane przez przenośny moduł Pythona są częścią kompilacji, są zawarte w paczce i są instalowane w prywatnej strukturze katalogów Pythona. W ten sposób możesz zainstalować Python dla swojej aplikacji bez ingerencji w system zainstalowany w Pythonie.
Moja witryna github zawiera skrypt kompilacji, który został dokładnie przetestowany na Ubuntu Lucid 10.04 LTS, zarówno w instalacjach 32, jak i 64-bitowych. Zbudowałem go również na Debianie Etch, ale to było jakiś czas temu i nie mogę zagwarantować, że niczego nie zmieniłem. Najłatwiejszym sposobem jest po prostu umieszczenie wybranego Ubuntu Lucid na maszynie wirtualnej, pobranie skryptu za pomocą,
git clone git://github.com/wavetossed/pybuild.git
a następnie uruchomienie skryptu.Gdy już go zbudujesz, użyj archiwum tar w dowolnej ostatniej dystrybucji Linuksa. Jest jeden mały problem z przenoszeniem go do katalogu innego niż
/data1/packages/python272
ten, że musisz uruchomić dołączony,patchelf
aby ustawić ścieżkę interpretera PRZED przeniesieniem katalogu. Dotyczy to wszystkich plików binarnych w/data1/packages/python272/bin
Wszystko to opiera się na budowaniu z RUNPATH i kopiowaniu zależnych bibliotek współdzielonych. Mimo że skrypt znajduje się w kilku plikach, jest to właściwie jeden długi skrypt powłoki ułożony w stylu katalogów /etc/rc.d.
źródło
Nie musisz robić mniam ani tworzyć własnego RPM. Twórz
python26
ze źródła.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
Nie może być błąd zależność wykorzystanie
Dodaj ścieżkę instalacji (
/usr/local/bin/python
domyślnie) do~/.bash_profile
.Nie zepsuje się
yum
ani żadnych innych rzeczy, od których zależypython24
.źródło
Nie, to wszystko. Możesz chcieć upewnić się, że masz również zainstalowane wszystkie opcjonalne nagłówki bibliotek, aby nie trzeba było ich później ponownie kompilować. Sądzę, że są wymienione w dokumentacji.
Jeśli to zrobisz, możesz go zainstalować nawet w standardowej ścieżce
make altinstall
. W ten sposób nie zastąpi twojego obecnego domyślnego „pythona”.źródło
Chris Lea zapewnia repozytorium YUM dla RPM python26, które mogą współistnieć z „natywną” wersją 2.4, która jest potrzebna do wielu narzędzi administracyjnych w CentOS.
Szybkie instrukcje, które zadziałały przynajmniej dla mnie:
$ 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
źródło
Jeśli chcesz sobie to ułatwić, po sieci krążą RPM CentOS dla nowych wersji Pythona. Np. Patrz:
http://www.geekymedia.com/python_26_centos.html
źródło
Po zainstalowaniu wersji Pythona (w tym przypadku jest to python2.6), wydaj to polecenie, aby utworzyć
virtualenv
:virtualenv -p /usr/bin/python2.6 /your/virtualenv/path/here/
źródło
Późno do partii, ale OP powinien poszły z buildout lub virtualenv , a pominął problem całkowicie.
Obecnie pracuję na serwerze Centos, cóż, ciężka praca byłaby właściwym określeniem i mogę zapewnić wszystkich, że jedyny sposób, w jaki mogę powstrzymać łzy podczas korzystania z oprogramowania odpowiedników włóczni hartowanych ogniowo, to build.
źródło
zawsze możesz stworzyć własny RPM:
http://www.grenadepod.com/2009/12/26/building-python-2-6-4-rpm-for-centos-5-4/
źródło
Missing Dependency: libffi.so.5 jest tutaj:
ftp://ftp.pbone.net/mirror/centos.karan.org/el5/extras/testing/i386/RPMS/libffi-3.0.5-1.el5.kb.i386.rpm
źródło
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
dla dos, których po prostu nie wiem: =)
źródło
# yum groupinstall "Development tools" # yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
Pobierz i zainstaluj 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
Pobierz i zainstaluj Distribute for Python 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
Zainstaluj i używaj virtualenv dla Pythona 3.3
# 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
źródło
Odinstalowałem oryginalną wersję Pythona (2.6.6) i zainstalowałem 2.7 (z opcją
make && make altinstall
), ale kiedy próbowałem zainstalować coś z yum, nie działało.Więc rozwiązałem ten problem w następujący sposób:
# ln -s /usr/local/bin/python /usr/bin/python
rpm -Uvh python-2.6.6-36.el6.i686.rpm
Gotowe
źródło
Wpisz następujące polecenia na terminalu, aby zainstalować Python 3.6 na CentOS 7:
Następnie wykonaj:
Możesz także zainstalować dowolną wersję zamiast 3.6 (jeśli chcesz), zastępując 36 numerem wersji.
źródło