2016-03-02 24 views
5

şu anda karşı karşıya ediyorum sorunu uzaktan debug:nasıl pycharm

  • Ben komut bazı argümanları geçer ve belirli tarafından koştu edilmelidir
  • SSH üzerinden uzak bir ana bilgisayarda Python kodunu dağıtmak kullanıcı
  • Ben farklı bir kullanıcı aracılığı SSH yoluyla bağlayan oluşturmak pycharm çalıştırmak/ayıklama yapılandırma Ben ... uzaktan hata ayıklama pycharm aracılığıyla bu kodu istediğiniz
  • (aslında komut dosyalarını çalıştıran kullanıcı ile bağlanamaz) tüm yapılandırmayı yapmayı başardım, sadece izin hataları alıyorum.

Komut dosyalarını belirli bir kullanıcı olarak (sudo su - user gibi) nasıl çalıştırabildiğim/hata ayıklayabileceğimin herhangi bir yolu var mı?

PyCharm'ın uzaktan/hata ayıklama yapılandırmasında bazı Python Interpeter seçeneklerini belirtmeyi okudum, ancak çalışan bir çözüm bulmayı başaramadım. Eğer pycharm bir tek tıklama "play" düğmesine sahip ille pycharm ayıklayıcıya almak yerine, kolay ve daha esnek bir şekilde istiyorsanız

cevap

8

, sen ayıklama sunucusu işlevini kullanabilirsiniz. Bazı Python kodlarını çalıştırmanın python ...'u çalıştırması kadar basit olmadığı durumlarda bunu kullandım.

fazla ayrıntı için the Remote debug with a Python Debug Server docs bakın, ama burada bir kaba nasıl çalıştığı özetini bulabilirsiniz:

  • Kurulum (bu /Applications/PyCharm.app/Contents/debug-eggs altında bulunur OSX'te)

    1. yükle & sunucu üzerinde uzaktan hata ayıklama yardımcı yumurtayı yüklemek uzaktan hata ayıklama sunucusu çalıştırma yapılandırması: açılır menü yapılandırma menüsüne tıklayın, Edit configurations...'u seçin, + düğmesine basın, Python remote debug'u seçin.
      • Burada girilen bilgiler (biraz kafa karıştırıcı), uzak sunucunun Python komut dosyasını dizüstü bilgisayarınızın PyCharm örneğine nasıl bağlanacağını çalıştırdığını söyler.
      • dizüstü bilgisayarınızda kullanabileceğiniz herhangi bir serbest liman port set
      • dizüstü bilgisayarınızın IP adresine Local host name set (örn 8888)
    2. Şimdi bu iletişim kutusunda kalan talimatları uygulayın: copy-paste Kodunuza import ve pydevd.settrace(...) ifadeleri, özellikle kodunuzun "bir kesme noktasına ulaşmasını" istediğiniz yere. Bu temelde import pdb; pdb.set_trace()'un PyCharm eşdeğeridir. Değiştirilen kodun sunucunuza senkronize edildiğinden emin olun.
    3. Hata düğmesine basın (oyunun yanında; PyCharm hata ayıklama sunucusunu başlatır) ve Python komut dosyasını tıpkı kullanıcı, ortam vb. Her zamanki gibi yaptığınız gibi çalıştırın. Kesme noktası vurulduğunda PyCharm'ın içine düşmesi gerekir. hata ayıklama modu.
  • +0

    Teşekkürler! Bununla birlikte, bunu kurmak için adım 2) uzak sunucu yapılandırmasını kurmam gerekiyordu - uzak bir düğüme bir SSH tüneli üzerinden bağlanırsam bunu nasıl yapabilirim? Uzun lafın kısası, ne olur? "Python