test_imports.py 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340
  1. # This script imports Panda3D modules just to make sure that there are no
  2. # missing imports. It is useful for a quick and dirty test to make sure
  3. # that there are no obvious build issues.
  4. import os, importlib
  5. # This will print out imports on the command line.
  6. import direct.showbase.VerboseImport
  7. import sys
  8. if sys.version_info >= (3, 4):
  9. from importlib import machinery
  10. extensions = machinery.EXTENSION_SUFFIXES + machinery.SOURCE_SUFFIXES + machinery.BYTECODE_SUFFIXES
  11. else:
  12. import imp
  13. extensions = set()
  14. for suffix in imp.get_suffixes():
  15. extensions.add(suffix[0])
  16. import panda3d
  17. dir = os.path.dirname(panda3d.__file__)
  18. for basename in os.listdir(dir):
  19. module = basename.split('.', 1)[0]
  20. ext = basename[len(module):]
  21. if ext in extensions:
  22. importlib.import_module('panda3d.%s' % (module))
  23. import direct.actor.Actor
  24. import direct.actor.DistributedActor
  25. import direct.cluster.ClusterClient
  26. import direct.cluster.ClusterConfig
  27. import direct.cluster.ClusterMsgs
  28. import direct.cluster.ClusterServer
  29. import direct.controls.BattleWalker
  30. import direct.controls.ControlManager
  31. import direct.controls.DevWalker
  32. import direct.controls.GhostWalker
  33. import direct.controls.GravityWalker
  34. import direct.controls.InputState
  35. import direct.controls.NonPhysicsWalker
  36. import direct.controls.ObserverWalker
  37. import direct.controls.PhysicsRoller
  38. import direct.controls.PhysicsWalker
  39. import direct.controls.SwimWalker
  40. import direct.controls.TwoDWalker
  41. import direct.directnotify.DirectNotify
  42. import direct.directnotify.DirectNotifyGlobal
  43. import direct.directnotify.Logger
  44. import direct.directnotify.LoggerGlobal
  45. import direct.directnotify.Notifier
  46. import direct.directnotify.RotatingLog
  47. import direct.directtools.DirectCameraControl
  48. import direct.directtools.DirectGeometry
  49. import direct.directtools.DirectGlobals
  50. import direct.directtools.DirectGrid
  51. import direct.directtools.DirectLights
  52. import direct.directtools.DirectManipulation
  53. import direct.directtools.DirectSelection
  54. import direct.directtools.DirectUtil
  55. import direct.directutil.DeltaProfiler
  56. import direct.directutil.DistributedLargeBlobSender
  57. import direct.directutil.DistributedLargeBlobSenderAI
  58. import direct.directutil.LargeBlobSenderConsts
  59. import direct.directutil.Mopath
  60. import direct.directutil.Verify
  61. import direct.directutil.WeightedChoice
  62. import direct.dist.FreezeTool
  63. import direct.distributed.AsyncRequest
  64. import direct.distributed.CRCache
  65. import direct.distributed.CRDataCache
  66. import direct.distributed.CachedDOData
  67. import direct.distributed.CartesianGridBase
  68. import direct.distributed.ClientRepository
  69. import direct.distributed.ClientRepositoryBase
  70. import direct.distributed.ClockDelta
  71. import direct.distributed.ConnectionRepository
  72. import direct.distributed.DistributedCamera
  73. import direct.distributed.DistributedCameraAI
  74. import direct.distributed.DistributedCameraOV
  75. import direct.distributed.DistributedCartesianGrid
  76. import direct.distributed.DistributedCartesianGridAI
  77. import direct.distributed.DistributedNode
  78. import direct.distributed.DistributedNodeAI
  79. import direct.distributed.DistributedNodeUD
  80. import direct.distributed.DistributedObject
  81. import direct.distributed.DistributedObjectAI
  82. import direct.distributed.DistributedObjectBase
  83. import direct.distributed.DistributedObjectGlobal
  84. import direct.distributed.DistributedObjectGlobalAI
  85. import direct.distributed.DistributedObjectGlobalUD
  86. import direct.distributed.DistributedObjectOV
  87. import direct.distributed.DistributedObjectUD
  88. import direct.distributed.DistributedSmoothNodeAI
  89. import direct.distributed.DistributedSmoothNodeBase
  90. import direct.distributed.DoCollectionManager
  91. import direct.distributed.DoHierarchy
  92. import direct.distributed.DoInterestManager
  93. import direct.distributed.GridChild
  94. import direct.distributed.GridParent
  95. import direct.distributed.InterestWatcher
  96. import direct.distributed.MsgTypes
  97. import direct.distributed.MsgTypesCMU
  98. import direct.distributed.NetMessenger
  99. import direct.distributed.ParentMgr
  100. import direct.distributed.PyDatagram
  101. import direct.distributed.PyDatagramIterator
  102. import direct.distributed.RelatedObjectMgr
  103. import direct.distributed.SampleObject
  104. import direct.distributed.ServerRepository
  105. import direct.distributed.StagedObject
  106. import direct.distributed.TimeManager
  107. import direct.distributed.TimeManagerAI
  108. import direct.extensions_native.extension_native_helpers
  109. import direct.filter.CommonFilters
  110. import direct.filter.FilterManager
  111. import direct.fsm.ClassicFSM
  112. import direct.fsm.FSM
  113. import direct.fsm.FourState
  114. import direct.fsm.FourStateAI
  115. import direct.fsm.SampleFSM
  116. import direct.fsm.State
  117. import direct.fsm.StateData
  118. import direct.fsm.StatePush
  119. import direct.gui.DirectButton
  120. import direct.gui.DirectCheckBox
  121. import direct.gui.DirectCheckButton
  122. import direct.gui.DirectDialog
  123. import direct.gui.DirectEntry
  124. import direct.gui.DirectEntryScroll
  125. import direct.gui.DirectFrame
  126. import direct.gui.DirectGui
  127. import direct.gui.DirectGuiBase
  128. import direct.gui.DirectGuiGlobals
  129. import direct.gui.DirectGuiTest
  130. import direct.gui.DirectLabel
  131. import direct.gui.DirectOptionMenu
  132. import direct.gui.DirectRadioButton
  133. import direct.gui.DirectScrollBar
  134. import direct.gui.DirectScrolledFrame
  135. import direct.gui.DirectScrolledList
  136. import direct.gui.DirectSlider
  137. import direct.gui.DirectWaitBar
  138. import direct.gui.OnscreenGeom
  139. import direct.gui.OnscreenImage
  140. import direct.gui.OnscreenText
  141. import direct.interval.ActorInterval
  142. import direct.interval.AnimControlInterval
  143. import direct.interval.FunctionInterval
  144. import direct.interval.IndirectInterval
  145. import direct.interval.Interval
  146. import direct.interval.IntervalGlobal
  147. import direct.interval.IntervalManager
  148. import direct.interval.IntervalTest
  149. import direct.interval.LerpBlendHelpers
  150. import direct.interval.LerpInterval
  151. import direct.interval.MetaInterval
  152. import direct.interval.MopathInterval
  153. import direct.interval.ParticleInterval
  154. import direct.interval.ProjectileInterval
  155. import direct.interval.ProjectileIntervalTest
  156. import direct.interval.SoundInterval
  157. import direct.interval.TestInterval
  158. import direct.motiontrail.MotionTrail
  159. if sys.version_info < (3, 12):
  160. import direct.p3d.AppRunner
  161. import direct.p3d.DWBPackageInstaller
  162. import direct.p3d.DeploymentTools
  163. import direct.p3d.HostInfo
  164. import direct.p3d.JavaScript
  165. import direct.p3d.PackageInfo
  166. import direct.p3d.PackageInstaller
  167. import direct.p3d.PackageMerger
  168. import direct.p3d.Packager
  169. import direct.p3d.FileSpec
  170. import direct.p3d.InstalledHostData
  171. import direct.p3d.InstalledPackageData
  172. import direct.p3d.PatchMaker
  173. import direct.p3d.ScanDirectoryNode
  174. import direct.p3d.SeqValue
  175. import direct.particles.ForceGroup
  176. import direct.particles.GlobalForceGroup
  177. import direct.particles.ParticleEffect
  178. import direct.particles.ParticleFloorTest
  179. import direct.particles.ParticleManagerGlobal
  180. import direct.particles.ParticleTest
  181. import direct.particles.Particles
  182. import direct.particles.SpriteParticleRendererExt
  183. import direct.physics.FallTest
  184. import direct.physics.RotationTest
  185. import direct.showbase.AppRunnerGlobal
  186. import direct.showbase.Audio3DManager
  187. import direct.showbase.BufferViewer
  188. import direct.showbase.BulletinBoard
  189. import direct.showbase.BulletinBoardGlobal
  190. import direct.showbase.BulletinBoardWatcher
  191. import direct.showbase.ContainerLeakDetector
  192. import direct.showbase.ContainerReport
  193. import direct.showbase.CountedResource
  194. import direct.showbase.DirectObject
  195. import direct.showbase.DistancePhasedNode
  196. import direct.showbase.EventGroup
  197. import direct.showbase.EventManager
  198. import direct.showbase.EventManagerGlobal
  199. import direct.showbase.ExceptionVarDump
  200. import direct.showbase.Factory
  201. import direct.showbase.FindCtaPaths
  202. import direct.showbase.Finder
  203. import direct.showbase.GarbageReport
  204. import direct.showbase.GarbageReportScheduler
  205. import direct.showbase.InputStateGlobal
  206. import direct.showbase.Job
  207. import direct.showbase.JobManager
  208. import direct.showbase.JobManagerGlobal
  209. import direct.showbase.LeakDetectors
  210. import direct.showbase.Loader
  211. import direct.showbase.Messenger
  212. import direct.showbase.MessengerGlobal
  213. import direct.showbase.MessengerLeakDetector
  214. import direct.showbase.MirrorDemo
  215. import direct.showbase.ObjectPool
  216. import direct.showbase.ObjectReport
  217. import direct.showbase.OnScreenDebug
  218. import direct.showbase.PhasedObject
  219. import direct.showbase.PhysicsManagerGlobal
  220. import direct.showbase.Pool
  221. import direct.showbase.ProfileSession
  222. import direct.showbase.PythonUtil
  223. import direct.showbase.RandomNumGen
  224. import direct.showbase.ReferrerSearch
  225. import direct.showbase.SfxPlayer
  226. import direct.showbase.ShadowDemo
  227. import direct.showbase.ShadowPlacer
  228. import direct.showbase.ShowBase
  229. import direct.showbase.TaskThreaded
  230. import direct.showbase.ThreeUpShow
  231. import direct.showbase.Transitions
  232. if sys.version_info < (3, 12):
  233. import direct.showbase.VFSImporter
  234. import direct.showbase.WxGlobal
  235. import direct.showutil.BuildGeometry
  236. import direct.showutil.Effects
  237. import direct.showutil.Rope
  238. import direct.showutil.TexMemWatcher
  239. import direct.showutil.TexViewer
  240. import direct.stdpy.file
  241. import direct.stdpy.glob
  242. #import direct.stdpy.pickle
  243. import direct.stdpy.thread
  244. import direct.stdpy.threading
  245. import direct.stdpy.threading2
  246. import direct.task.FrameProfiler
  247. import direct.task.MiniTask
  248. import direct.task.Task
  249. import direct.task.TaskManagerGlobal
  250. import direct.task.TaskProfiler
  251. import direct.task.TaskTester
  252. import direct.task.Timer
  253. try:
  254. import Pmw
  255. except ImportError:
  256. Pmw = None
  257. print("Skipping Tk modules due to missing Pmw.")
  258. if Pmw:
  259. import direct.showbase.TkGlobal
  260. import direct.tkpanels.AnimPanel
  261. import direct.tkpanels.DirectSessionPanel
  262. import direct.tkpanels.FSMInspector
  263. import direct.tkpanels.Inspector
  264. import direct.tkpanels.MopathRecorder
  265. import direct.tkpanels.NotifyPanel
  266. import direct.tkpanels.ParticlePanel
  267. import direct.tkpanels.Placer
  268. import direct.tkpanels.TaskManagerPanel
  269. import direct.tkwidgets.AppShell
  270. import direct.tkwidgets.Dial
  271. import direct.tkwidgets.EntryScale
  272. import direct.tkwidgets.Floater
  273. import direct.tkwidgets.MemoryExplorer
  274. import direct.tkwidgets.ProgressBar
  275. import direct.tkwidgets.SceneGraphExplorer
  276. import direct.tkwidgets.Slider
  277. import direct.tkwidgets.Tree
  278. import direct.tkwidgets.Valuator
  279. import direct.tkwidgets.VectorWidgets
  280. import direct.tkwidgets.WidgetPropertiesDialog
  281. try:
  282. import wx
  283. except ImportError:
  284. wx = None
  285. print("Skipping wxPython and leveleditor modules due to missing wx.")
  286. if wx:
  287. import direct.wxwidgets.ViewPort
  288. import direct.wxwidgets.WxAppShell
  289. import direct.wxwidgets.WxPandaShell
  290. import direct.wxwidgets.WxPandaWindow
  291. import direct.wxwidgets.WxSlider
  292. import direct.leveleditor.ActionMgr
  293. import direct.leveleditor.AnimControlUI
  294. import direct.leveleditor.AnimGlobals
  295. import direct.leveleditor.AnimMgr
  296. import direct.leveleditor.AnimMgrBase
  297. import direct.leveleditor.CurveAnimUI
  298. import direct.leveleditor.CurveEditor
  299. import direct.leveleditor.FileMgr
  300. import direct.leveleditor.GraphEditorUI
  301. import direct.leveleditor.HotKeyUI
  302. import direct.leveleditor.LayerEditorUI
  303. import direct.leveleditor.LevelEditor
  304. import direct.leveleditor.LevelEditorBase
  305. import direct.leveleditor.LevelEditorStart
  306. import direct.leveleditor.LevelEditorUI
  307. import direct.leveleditor.LevelEditorUIBase
  308. import direct.leveleditor.LevelLoader
  309. import direct.leveleditor.LevelLoaderBase
  310. import direct.leveleditor.MayaConverter
  311. import direct.leveleditor.ObjectGlobals
  312. import direct.leveleditor.ObjectHandler
  313. import direct.leveleditor.ObjectMgr
  314. import direct.leveleditor.ObjectMgrBase
  315. import direct.leveleditor.ObjectPalette
  316. import direct.leveleditor.ObjectPaletteBase
  317. import direct.leveleditor.ObjectPaletteUI
  318. import direct.leveleditor.ObjectPropertyUI
  319. import direct.leveleditor.PaletteTreeCtrl
  320. import direct.leveleditor.ProtoObjs
  321. import direct.leveleditor.ProtoObjsUI
  322. import direct.leveleditor.ProtoPalette
  323. import direct.leveleditor.ProtoPaletteBase
  324. import direct.leveleditor.ProtoPaletteUI
  325. import direct.leveleditor.SceneGraphUI
  326. import direct.leveleditor.SceneGraphUIBase
  327. print("Finished.")