我正在尝试将virtualenv设置为指向Maya 2013的可执行文件,这样我就可以从shell中运行其中的单元测试。Maya使用位于/usr/autodesk/maya/bin/mayapy
的自定义python 2.6可执行文件。我得到以下错误:
$ virtualenv -p /usr/autodesk/maya/bin/mayapy mayapy
Running virtualenv with interpreter /usr/autodesk/maya/bin/mayapy
PYTHONHOME is set. You *must* activate the virtualenv before using it
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 2577, in <module>
main()
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 979, in main
no_pip=options.no_pip)
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 1081, in create_environment
site_packages=site_packages, clear=clear))
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 1289, in install_python
writefile(site_filename_dst, SITE_PY)
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 445, in writefile
f = open(dest, 'wb')
IOError: [Errno 2] No such file or directory: 'mayapy/lib/python26.zip/site.py'
我已经阅读了virtualenv's page,virtualenv -h
的输出,像this one这样的一些基本的virtualenv代码,并在谷歌上搜索了virtualenv和maya+virtualenv配对,但都没有用。
下面是详细的输出:
$ virtualenv -vv -p /usr/autodesk/maya/bin/mayapy mayapy
Running virtualenv with interpreter /usr/autodesk/maya/bin/mayapy
PYTHONHOME is set. You *must* activate the virtualenv before using it
Directory mayapy/lib/python2.6 already exists
Symlinking Python bootstrap modules
Cannot import bootstrap module: os
Ignoring built-in bootstrap module: posix
Cannot import bootstrap module: posixpath
Cannot import bootstrap module: nt
Cannot import bootstrap module: ntpath
Cannot import bootstrap module: genericpath
Cannot import bootstrap module: fnmatch
Cannot import bootstrap module: locale
Cannot import bootstrap module: encodings
Cannot import bootstrap module: codecs
Cannot import bootstrap module: stat
Cannot import bootstrap module: UserDict
File mayapy/lib/python2.6/lib-dynload/readline.so already exists
Cannot import bootstrap module: copy_reg
Cannot import bootstrap module: types
Cannot import bootstrap module: re
Cannot import bootstrap module: sre
Cannot import bootstrap module: sre_parse
Cannot import bootstrap module: sre_constants
Cannot import bootstrap module: sre_compile
File mayapy/lib/python2.6/lib-dynload/zlib.so already exists
Cannot import bootstrap module: warnings
Cannot import bootstrap module: linecache
Cannot import bootstrap module: _abcoll
Cannot import bootstrap module: abc
Directory mayapy/lib/python2.6/site-packages already exists
Writing mayapy/lib/python26.zip/site.py
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 2577, in <module>
main()
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 979, in main
no_pip=options.no_pip)
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 1081, in create_environment
site_packages=site_packages, clear=clear))
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 1289, in install_python
writefile(site_filename_dst, SITE_PY)
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 445, in writefile
f = open(dest, 'wb')
IOError: [Errno 2] No such file or directory: 'mayapy/lib/python26.zip/site.py'
发布于 2013-05-22 10:43:54
下载最新的virtualenv,并将其与您要虚拟化的python版本一起命名为virtualenv:
/usr/autodesk/maya/bin/mayapy where/i/saved/virtualenv mayapy
发布于 2013-05-24 10:32:30
另一种方法是在maya.standalone的实例中运行测试,这对单元测试很有好处,而且不会影响您的maya运行时环境。如果您的所有测试都包含以下内容:
import maya.standalone
try:
maya.standalone.initialize()
except:
pass # initialize raises if you call it more than once, but it's harmless if you catch it.
可以从mayapy解释器运行它们,而无需在gui模式下运行maya。
https://stackoverflow.com/questions/16678334
复制相似问题