Kategorie szkoleń | Egzaminy | Kontakt
  • 3
  • 5
  • 78

Jest sobie system na którym ma działać kilka aplikacji. Dajmy na to napisanych w Rubym, tudzież Pythonie. Każda z aplikacji wymaga np. innej wersji Ruby, tudzież modułów w specyficznych wersjach.

W jaki sposób zgodny z ideą systemu zainstalować np Python2 i Python3? Jak instalować moduły, pip-em? Czy też jakoś inaczej?

 Jaki jest "koszerny" sposób który nie spowoduje problemów z ew supportem?

 

 

Andrzej_Dopierała
  • Zapytał
  • @ Andrzej_Dopierała | 10.02.2016
    • lider
    • laureat
    • ekspert
    • 83
    • 65
    • 169

Odpowiedzi (3)

  • 3

Jednego rozwiązania chyba nie ma. Kilka lat temu w przypadku Ruby używałem RVM (Ruby Version Manager) https://rvm.io/. Aplikacja zarządzała zmiennymi środowiskowymi, co pozwalało przełączać się między różnymi interpreterami i zestawami bibliotek.

[Deleted User]
  • Odpowiedział
  • @ [Deleted User] | 11.02.2016
    • 0
    • 0
    • 2
Komentarze
Takich projektów jest w sumie kilka. Tylko, że ich użycie chyba gryzie się z koszernością RH?
Skomentował : @ Andrzej_Dopierała ,11.02.2016
  • 83
  • 65
  • 169
Zasadniczo dystrybucje są projektowane tak, aby wszystkie pakiety potrzebowały tych samych wersji oprogramowania. Często są nawet wydawane autorskie łatki i poważnie modyfikowane pliki konfiguracyjne, aby to umożliwić. Jeśli z jakiegoś powodu trzeba zainstalować coś, czego nie ma w oficjalnych repozytoriach, zaczynają się problemy, trzeba złamać zasadę. Najlepszym rozwiązaniem jest właśnie instalować do /home albo /usr/local i ustawić konkretnemu użytkownikowi odpowiednie zmienne środowiskowe. Wtedy reszta systemu pozostaje nieruszona.
Skomentował : @ [Deleted User] ,12.02.2016
  • 0
  • 0
  • 2
  • 0

Moje propozycje:

1. Instalacja aplikacji w kontenerze Docker/LXC - w takim kontenerze można instalować dowolne wersje oprogramowania / bibliotek i nie ma to wpływu na OS hosta.

2. W przypadku Pythona można zainstalować dowolną wersję interpretera obok tego dostarczonego przez RH (ostatnio instalowałem 3.5 na CentOS7.2), a następnie instalować apki w tzw virtual-env. Takie wirtualne środowisko pozwala na instalowanie (pip) dowolnych bibliotek bez obawy o popsucie aplikacji systemowych.

 

 

 

 

 

klawczys
  • Odpowiedział
  • @ klawczys | 09.03.2016
    • 8
    • 3
    • 11
Komentarze
Jest jakieś źródło z którego bierzesz paczki Pythona w niestandardowych wersjach?
Skomentował : @ Andrzej_Dopierała ,09.03.2016
  • 83
  • 65
  • 169
  • 0

W przypadku Pythona -> PIP, tak jak wspomniałem.

 

klawczys
  • Odpowiedział
  • @ klawczys | 10.03.2016
    • 8
    • 3
    • 11