为3D软件部署Python模块

时间:2014-09-24 07:55:31

标签: python pyqt pyside maya

我一直在开发一个相当广泛的python模块库,可以自动化更多耗时的部分" 3D角色开发"适用于游戏/电影/电视。

直到几个月前我的所有代码都在Maya's专用python解释器中运行,但是,我的GUI是用PySide / PyQt构建的,所以,在mac / windows / linux或者运行得很好一些其他图形程序,例如NukeXSIMax

我真正想知道的是一个简单的"将我的代码分发给各种不同的人的方法--->使用各种不同的操作系统--->可能使用各种应用程序(NukeXSIMax),而这些应用程序又有自己专用的python解释器。

显而易见的选择是pip和easy_install ..这些模块显然是"对"方法去了,但是用户在Maya / Nuke / etc附带的专用python安装下如何安装/运行它们并不是很清楚......虽然看起来似乎有可能(as explained here)。对于技术水平较低的用户来说,它仍然是一个相当大的障碍。

任何有关正确方向的帮助或观点都会受到极大的赞赏。

1 个答案:

答案 0 :(得分:3)

我不会说pip / easy_install是解决这个问题的'正确方法'。对于积极的,技术倾向的用户来说,它们是非常好的(不是很好的)工具 - 但即使在这种情况下,它们也存在问题(例如意外的升级或删除)。最重要的是,它们是选择加入的方法:除非您愿意,否则没有人可以让您获得。这意味着用户可能会意外或故意将自己置于彼此截然不同的位置,这使得支持和维护成为一场噩梦。

我在Maya中运气很好,分发了一个包含完整环境的压缩文件 - 所有模块等userSetup.py都将zip添加到路径中,Python的本机zipimport功能处理其余部分。这可确保只维护和分发一个文件。它还修复了.ff文件被移动或重命名后剩余的.pyc文件创建havok的常见问题。由于这是所有标准的python,我认为这适用于使用2.6+版本的python的任何特定于应用程序的python,尽管我从来没有在Nuke或Max中尝试过它。

主要的皱纹是带有.pyd或其他二进制组件的模块,通常这些模块在zip文件中不起作用。我包含一个引导程序,它将这些程序解压缩到用户磁盘上的(一次性)位置并将其添加到路径中。

详细讨论了方法here和一些背景here