有人能准确描述如何在Maya中创建和执行python包吗?很多关于这方面的教程和问题都是中间的,并且假定了一定的知识。我需要一个简单的例子作为起点。
Folder/
scriptA.py
scriptB.py
scriptC.py
ScriptA:
Import ScriptB
Import ScriptC
Create zip of Folder
In Maya
Code to run Folder as if not zipped
ScriptA.foo()文件夹中有三个脚本。ScriptA引用了另外两个。我用像winrar这样的程序来压缩文件夹。在maya中,我希望从这个zip加载文件,就好像里面的文件是位于我的脚本文件夹中的任何其他模块一样(最好不用解压缩)。我该怎么做?
发布于 2015-09-17 21:14:36
python路径上的任何zip都被视为文件夹,因此:
import sys
sys.path.append('path/to/archive.zip')
import thingInZip
thingInZip.do_something()唯一的问题是深度: zipImporter不需要嵌套目录结构。所以这没问题:
ziparchive.zip
+--- module1.py
+----module2.py
+----package_folder
|
+-- __init.__py
+-- submodule1.py
+-- submodule2.py
+--- subpackage
|
+- __init__.py但这并不是:
ziparchive.zip
+ --- folder
+- just_a_python_file_not_part_of_a_package.py另外,site模块不能在zip中添加路径。有一个解决办法,这里。您还可能需要小心您的sys.path的顺序:您希望确保您知道您是从压缩的文件还是从磁盘上的松散文件中工作。
您可以通过只压缩.pyc文件而不是整件事情来节省空间。
PS注意在sys.path.append中使用左斜杠:它们必须是转义的\\ --右斜杠在窗口和*ix上都可以工作。
https://stackoverflow.com/questions/32631910
复制相似问题