2013-02-05 16 views
6

Czy istnieje możliwość, aby Eclipse PyDev używał zdalnego interpretera Pythona?Eclipse PyDev wykorzystuje zdalny interpreter

Chciałbym to zrobić, ponieważ serwer Linux, z którym chcę się połączyć, ma kilka programów do optymalizacji (CPLEX, GUROBI itd.), Których używa mój skrypt.

Obecnie używam Eclipse lokalnie, aby napisać skrypty, a następnie skopiować wszystkie pliki do zdalnego komputera, zalogować się przy pomocy ssh i wykonać tam skrypty z "python script.py". Zamiast tego mam nadzieję, że kliknę przycisk "Uruchom" i po prostu wszystko będzie wykonane w ramach IDE zaćmienia.

Dzięki

+0

Możesz sprawdzić moją odpowiedź w [tym pytaniu SoF] (http://stackoverflow.com/questions/11019120/define-remote-interpreter-on-remote-linux-machine-using-pydev-and-rse-server/27496846 # 27496846) – tomasyany

Odpowiedz

8

Niestety nie. Możesz zdalnie połączyć się z serwerem Linux za pomocą Remote System Explorer (RSE). Ale nie można go używać jako zdalnego tłumacza. Używam Pycharm. Możesz skorzystać z bezpłatnej wersji społecznościowej lub wersji profesjonalnej, za którą musisz za nią zapłacić. To nie jest tak drogie i świetnie się sprawdziło.

4

Jak mówi Adel, prawdopodobnie nie jest to możliwe przy użyciu Zdalnego Eksploratora Systemów lub zwykłego przycisku Uruchom, , ale można zautomatyzować proces, z którego obecnie korzystasz. Musiałem to zrobić przez kilka tygodni, kiedy wentylator został zepsuty w moim laptopie, a wykonanie jakichkolwiek znaczących obliczeń spowodowało przegrzanie i wyłączenie zasilania, więc po prostu uruchomiłem wszystko na mojej maszynie roboczej.

Możesz użyć mechanizmu narzędzi zewnętrznych do uruchomienia skryptu, który zsynchronizuje twój kod z serwerem zdalnym, uruchamia twój skrypt, a następnie synchronizuje wszystkie pliki wyjściowe na komputerze lokalnym. Mój skrypt wygląda tak, jest przechowywana w $ HOME/bin/runremote.sh i jest wykonywalny (chmod +x runremote.sh)

fp="$1" # Local path to the script we want to run--for now, 
     # this is the only command I pass in from Eclipse, but you could add others if so inclined. 
# My home directory is a little different on my local machine than on the remote, 
# but otherwise things are in the same place. Adjust as needed. 
fp=`python -c "print '$fp'.replace('/home/tsbertalan', '/home/oakridge/bertalan')"` 

# Run the synchronization. I use Unison, but you could use something else, 
# like two calls to rsync, or a series of scp commands. 
reposync >/dev/null # The redirection assumes your sync command will print errors properly on stderr. 
cd='cd '`dirname $fp` 

# I use a virtual environment on the remote server, since I don't have root access to install 
# packages globally. But this could be any set-up command you want to run on the remote. 
# A good alternative would be `source $HOME/.profile` or `~/.bashrc`. 
act='source /home/oakridge/bertalan/bin/activate' 
fname="`basename $fp`" 
cmd="$act ; $cd ; python $fname" 

# Run the command remotely. The -X forwards X11 windows, so you can see your Matplotlib plots. 
# One difficulty with this method is that you might not see all your output just as it is created. 
ssh [email protected] -X "$cmd" 
sleep 1 

# My synchronization script is bidirectional, but you could just use rsync with the arguments flipped. 
reposync >/dev/null 

Jeśli nie używasz systemu Linux lub OSX lokalnie, prawdopodobnie będziesz musiał użyć MinGW lub Cygwin lub cokolwiek innego, aby uzyskać to działa. Lub, skoro wydaje się, że masz działający interpreter języka Python, możesz napisać równoważny skrypt w języku Python, uczynić go wykonywalnym (przez okno dialogowe właściwości pliku w Eksploratorze, myślę), i dodać linię #!/path/to/python u góry. Nie używam Windows regularnie, więc nie mogę w tym pomóc.

Aby użyć tego w Eclipse, przejdź do polecenia Uruchom> Narzędzia zewnętrzne> Konfiguracje narzędzi zewnętrznych .... Dodaj nowe narzędzia , których Lokalizacja to ścieżka do skryptu, a pierwszy argument to $ {resource_loc}. Następnie można go użyć za pomocą polecenia Uruchom> Narzędzia zewnętrzne> [pierwszy element] lub powiązać go ze skrótem klawiaturowym (użyłem F12) , przechodząc do Windows> Preferencje> Klucze i wyszukując "Uruchom ostatnio uruchomione narzędzie zewnętrzne". Najprawdopodobniej będziesz musiał najpierw przejść przez menu, aby uczynić to narzędziem zewnętrznym "Last Launched".

Powiązane problemy