我对Pycharm有一个相对简单的问题。似乎忽略了某些软件包成员,例如Pygame或PyEphem。例如,当我键入ephem + dot时,Pycharm仅向我显示了该程序包可用的几个类和函数,而忽略了许多类,例如Uranus(我可以毫无错误地赋值x = ephem.Uranus(),但Pycharm不会告诉我x的所有可用方法。我使用标准语法:

import ephem


我一直在研究新鲜的virtualenv。我已经检查了解释器路径。 PyEphem显然是为我的环境安装的。什么可能导致问题出在这里?

最佳答案

问题在于PyEphem不会在其__init__.py文件的文本中按字面列出天王星之类的对象,而是通过扫描C库“ libastro”内部的表来动态加载它们,而PyEphem只是一个包装器。由于它在Python模块的文本中的任何地方都看不到名称Uranus,因此PyCharm不知道它在运行时会在那里。

如果您在GitHub上打开一个Issue,我将在下一个版本中解决此问题,方法是脱离表驱动代码,转向行星的文字列表!

10-06 05:19
查看更多