2011-08-21 16 views
7

Próbuję rozpocząć nową aplikację GUI Pythona i postanowiłem użyć wxPython jako GUI, ponieważ chcę mieć platformę wieloplatformową.Jak zainstalować wxPython przy użyciu virtualenv

Problem polega na tym, że chcę użyć virtualenv (z virtualenvwrapper) do odizolowania środowiska i móc go odtworzyć na innych komputerach, na których będę pracował, ale nie mogę zainstalować wxPython.

mam go zainstalowanego w moim komputerze ubuntu poprzez apt-get ale to nie wystarczy

Przeszukałem internet w poszukiwaniu rozwiązania i znalazłem ...

  • Ta strona http://batok.github.com/virtualenvwxp/ gdzie wyjaśniono sposób na zhakowanie środowiska virtualenv w celu użycia lokalnej instalacji wxPython. Nie jest to najlepsze rozwiązanie, ale byłoby dobrym rozwiązaniem. Problem polega na tym, że jest to wyjaśnione dla Maca i nie mogłem sprawić, żeby działało w moim ubuntu.

  • Znaleźliśmy również tę stronę Installing wxPython in virtualenv under Linux gdzie ktoś zapyta o coś podobnego. W ten sposób próbowałem zbudować wxPython bez powodzenia.

Każda pomoc zostanie doceniona.

W końcu wybrałem wxPython, ponieważ jest to wieloplatformowy i mogę go używać bez problemów licencyjnych, ale ponieważ jeszcze się nie zacząłem, mogę zmienić zdanie, jeśli jest jeszcze łatwiejszy w instalacji framework.

Dzięki z góry

20110925: Przepraszamy za opóźnienie i dzięki za odpowiedzi. Po prostu próbowałem zainstalować wxpython przy użyciu buildout i linków podanych tutaj, ale nadal mam ten sam problem. Wygląda na to, że potrzebuję pakietu libgtk2.0-dev, aby móc skompilować wxpython ...

Czy istnieje sposób na zainstalowanie tego pakietu lokalnie w środowisku buildout?

Jeszcze raz dziękuję.

+0

Co to jest błąd kompilacji podczas próby zbudowania wxPython? –

+0

wydaje się, że gtk nie jest obecny ... sprawdzanie dla GTK + - wersja> = 2.0.0 ... nie *** Nie można uruchomić programu testowego GTK +, sprawdzając, dlaczego ... *** Program testowy nie powiodła się skompilować lub połączyć. Zobacz plik config.log dotyczący dokładnego błędu, który wystąpił w ***. – thamurath

Odpowiedz

3

Pod koniec nie mogłem rozwiązać tego problemu.

Chcę utworzyć odtwarzalne środowisko Pythona z wszystkimi wymaganiami wewnątrz używania buildout i/lub virtualenv, dzięki czemu mógłbym pracować w każdym systemie Linux z zainstalowanym właśnie virtualenv, python i kompilatorem C++.

Wygląda na to, że jedynym sposobem, aby to zrobić, jest użycie kompilacji cmmm do pobrania i zbudowania wxpythona i WSZYSTKICH jego zależności. To naprawdę bolesny sposób i nie mam teraz czasu.

Postanowiłem użyć obejścia: Mam zamiar pracować na moim laptopie ubuntu przez większość czasu, więc zainstalowałem wxpython z repozytoriów i używam pliku wx.pth, aby udostępnić go środowisku wirtualnemu.

To nie jest dobre rozwiązanie, ale wydaje się najlepsze do tej pory ... więc jeśli ktoś zna jakieś lepsze rozwiązanie, proszę dać mi znać.

Kiedy mój projekt pyton jest bardziej dojrzały, obrócę ponownie na ten problem i będę prawdopodobnie spróbować własnej skórze ...

Dzięki za wszystkie odpowiedzi i komentarze.

+4

Jeśli nie jest to oczywiste dla nikogo innego, twój plik wx.pth powinien zawierać ścieżkę do lokalnie zainstalowanego polecenia wx: 'echo /usr/lib/python2.6/dist- packages/wx-2.8-gtk2-unicode> $ VIRTUAL_ENV/lib/python2.6/site-packages/wx.pth' – mgalgs

+1

Niedawno przyszedłem do interesującego projektu, który mógłby mieć zastosowanie tutaj http://www.vagrantup.com/ – thamurath

+0

Wiem, że nie jest fajnie pisać dzięki, ale ... dzięki mgalgs ... to było TAKIE POMOCNE !!! _Finalnie, dzięki twojemu komentarzowi, mam to do roboty! (Tak, przegłosowałem!) – GreenAsJade

1

Buildout pozwala zainstalować inny kod parts, którego kod recipe określa sposób budowania tej części. Istnieją receptury cmmi dla budowania rzeczy za pomocą Configure/Make/Make-Install (CMMI). Możesz użyć tego do zbudowania wxPython lokalnie do buildout, a następnie utworzyć python interpreter, który ma tę kompilację wxPython i własne jaja na swojej ścieżce.

Szczegółowe informacje znajdują się w następujących dokumentach: blog post i this answer.

Należy pamiętać, że zc.recipe.egg zainstaluje również wszelkie setuptools/rozpowszechniać console_scripts również w katalogu bin kompilacji. Zobacz także mr.developer dla automatically checking out multiple packages z VCS i pracując nad nimi w tym samym buildout.

+0

buildout było kolejnym narzędziem, którego szukałem jakiś czas temu, ale wydaje mi się bardziej skomplikowane niż pip ... Przypuszczam, że będę musiał walczyć z tymi przepisami ... dzięki za komentarz – thamurath

+0

Dzięki za odpowiedź. W końcu wydaje się, że warto spróbować, postępując zgodnie z instrukcjami podanymi w wpisie blogu, który publikujesz. wxpython jest pobierany poprawnie, ale problem nadal występuje ... – thamurath

2

Rozwiązanie skończyło się używając było zainstalować Pythona do mojego głównego systemu:

Następnie zrób dowiązanie symboliczne z WX w moim systemie Pythona do mojego wirtualnego środowiska:

ln -s /usr/lib/python2.7/dist-packages/wxversion.py <virtual_env_path>/lib/python2.7/site-packages/wxversion.py 

Gdzie jest ścieżka w moim przypadku do środowiska wirtualnego nazwie „fibersim” jest na przykład:

/home/adam/anaconda/envs/fibersim 

Następnie import wx pracował

Mam to od: http://qopml.org/wp-content/uploads/2013/01/README.txt

Powiązane problemy