これに従ってzc.recipe.testrunner
、ビルドアウトに追加しました。buildout は正常に実行できますが、実行するbin/test
と次のようになります。
ImportError: No module named testrunner
私は持っていzope.testrunner-4.0.4-py2.4.egg
ます
/usr/local/lib/python2.4/site-packages
私もピンときました
zope.testrunner = 4.0.4
zc.recipe.testruner = 1.4.0
zc.recipe.egg = 1.3.2
buildout を実行したとき、使用-vvv
したところ、次のようになりました。
...
Installing 'zc.recipe.testrunner'.
We have the distribution that satisfies 'zc.recipe.testrunner==1.4.0'.
Egg from site-packages: z3c.recipe.scripts 1.0.1
Egg from site-packages: zope.testrunner 4.0.4
Egg from site-packages: zope.interface 3.8.0
Egg from site-packages: zope.exceptions 3.7.1
...
We have the distribution that satisfies 'zope.testrunner==4.0.4'.
Egg from site-packages: zope.testrunner 4.0.4
Adding required 'zope.interface'
required by zope.testrunner 4.0.4.
We have a develop egg: zope.interface 0.0
Adding required 'zope.exceptions'
required by zope.testrunner 4.0.4.
We have a develop egg: zope.exceptions 0.0
...
ImportError が発生するのはなぜですか? zope.testrunner が正しくインストールされていませんか?
編集:
これは私のビルドアウトに関連する部分です:
[buildout]
...
parts =
...
test
[test]
recipe = zc.recipe.testrunner
defaults = ['--auto-color', '--auto-progress']
eggs =
my.product
の内容は次のbin/test
とおりです。
#!/usr/local/bin/python2.4 -S
import sys
sys.path[0:0] = [
'/home/jil/mySandbox/myTrunk/parts/test/site-packages',
]
import os
path = sys.path[0]
if os.environ.get('PYTHONPATH'):
path = os.pathsep.join([path, os.environ['PYTHONPATH']])
os.environ['BUILDOUT_ORIGINAL_PYTHONPATH'] = os.environ.get('PYTHONPATH', '')
os.environ['PYTHONPATH'] = path
import site # imports custom buildout-generated site.py
import os
sys.argv[0] = os.path.abspath(sys.argv[0])
os.chdir('/home/jil/mySandbox/myTrunk/parts/test/working-directory')
import zope.testrunner
if __name__ == '__main__':
zope.testrunner.run((['--auto-color', '--auto-progress']) + [
'--test-path', '/home/jil/mySandbox/myTrunk/src/my.product',
])
これは実行後のエラーbin/test
です:
Traceback (most recent call last):
File "/home/jil/mySandbox/myTrunk/bin/test", line 20, in ?
import zope.testrunner
ImportError: No module named testrunner