2015-11-04 48 views
1

我有一個Pycharm相對簡單的問題。它似乎忽略了諸如Pygame或PyEphem等軟件包的一些成員。例如,當我輸入ephem + dot時,Pycharm向我展示了這個包的幾個類和函數,忽略了很多類,比如天王星(我可以毫無錯誤地賦值x = ephem.Uranus(),但是Pycharm不會向我展示x)的任何可用方法。我使用標準的語法:包的一些成員不可見 - Pycharm

import ephem 

我總是工作在新鮮的virtualenv。我已經檢查過翻譯路徑。 PyEphem顯然是爲我的環境安裝的。什麼可能導致這裏的問題?

回答

1

問題是PyEphem沒有在其__init__.py文件的文字中直接列出像天王星這樣的對象,而是通過掃描C庫「libastro」內的一個表來動態加載它們,PyEphem只是一個包裝器。由於在Python模塊的文本中無法看到名稱Uranus,PyCharm並不知道它在運行時會在那裏。

如果您在GitHub上打開一個問題,我將通過擺脫表驅動代碼並轉向文字行星列表來解決下一個版本中的問題!

+0

謝謝你的回答!然後我會在GitHub上發佈一個問題:) – DorianOlympia

0

PyEphem會在您進入首選項 - >項目 - >項目解釋器時顯示嗎?

如果您從PyCharm運行器(確保運行配置指向項目的Python解釋器)執行運行配置來執行該模塊,它是否會導致導入錯誤?