如何重现:
运行:
git clone https://github.com/l0b0/make-includes.git
cd make-includes
git checkout 643b15af0cf246ab669176b2c564bf9f88b63c0b # current HEAD
make test
结果:
/tmp/tmp.Hwv8afXNsE/virtualenv/virtualenv-12.1.1/virtualenv.py --python=/tmp/tmp.Hwv8afXNsE/Python-2.7.10-install/bin/python2.7 /tmp/tmp.Hwv8afXNsE/virtualenv-2.7.10
Traceback (most recent call last):
File "/tmp/tmp.Hwv8afXNsE/virtualenv/virtualenv-12.1.1/virtualenv.py", line 2352, in <module>
main()
File "/tmp/tmp.Hwv8afXNsE/virtualenv/virtualenv-12.1.1/virtualenv.py", line 763, in main
options, args = parser.parse_args()
File "/usr/lib/python3.5/optparse.py", line 1370, in parse_args
values = self.get_default_values()
File "/tmp/tmp.Hwv8afXNsE/virtualenv/virtualenv-12.1.1/virtualenv.py", line 642, in get_default_values
return optparse.Values(defaults)
File "/usr/lib/python3.5/optparse.py", line 827, in __init__
setattr(self, attr, val)
TypeError: attribute name must be string, not 'NoneType'
python.mk:85: recipe for target '/tmp/tmp.Hwv8afXNsE/virtualenv-2.7.10' failed
make[1]: *** [/tmp/tmp.Hwv8afXNsE/virtualenv-2.7.10] Error 1
make[1]: Leaving directory '/home/user/dev/make-includes'
Makefile:32: recipe for target 'test-python-virtualenv' failed
make: *** [test-python-virtualenv] Error 2
有趣的是,如果我之后再次运行最后一个命令,它可以工作:
$ /tmp/tmp.Hwv8afXNsE/virtualenv/virtualenv-12.1.1/virtualenv.py --python=/tmp/tmp.Hwv8afXNsE/Python-2.7.10-install/bin/python2.7 /tmp/tmp.Hwv8afXNsE/virtualenv-2.7.10
Running virtualenv with interpreter /tmp/tmp.Hwv8afXNsE/Python-2.7.10-install/bin/python2.7
New python executable in /tmp/tmp.Hwv8afXNsE/virtualenv-2.7.10/bin/python2.7
Also creating executable in /tmp/tmp.Hwv8afXNsE/virtualenv-2.7.10/bin/python
Installing setuptools, pip...done.
是什么给出了?