簡體   English   中英

nosetests -h無法運行錯誤

[英]nosetests -h fails to run with error

我懷疑我沒能正確安裝nosetests。 我用easy_install nose - 輸出了

Searching for nose
Best match: nose 1.0.0
Processing nose-1.0.0-py2.7.egg
nose 1.0.0 is already the active version in easy-install.pth
Installing nosetests-script.py script to C:\Python27\Scripts
Installing nosetests.exe script to C:\Python27\Scripts
Installing nosetests-2.7-script.py script to C:\Python27\Script
Installing nosetests-2.7.exe script to C:\Python27\Scripts

所以看起來安裝得很好。 但是當我運行nosetests -h時

PS C:\Users\john\code\python> nosetests -h
Traceback (most recent call last):
  File "C:\Python27\Scripts\nosetests-script.py", line 9, in <module>
    load_entry_point('nose==1.0.0', 'console_scripts', 'nosetests')()
  File "C:\Python27\lib\site-packages\nose-1.0.0-py2.7.egg\nose\core.py", line 118, in __init__
    **extra_args)
TypeError: __init__() got an unexpected keyword argument 'exit'

我是否錯過了設置步驟?

奇怪的。 nose/core.pyTestProgram構造函數調用父構造函數,如下所示:

...
extra_args = {}
version = sys.version_info[0:2]
if version >= (2,7) and version != (3,0):
    extra_args['exit'] = exit
unittest.TestProgram.__init__(
    self, module=module, defaultTest=defaultTest,
    argv=argv, testRunner=testRunner, testLoader=testLoader,
    **extra_args)

unittest/main.pyTestProgram構造unittest/main.py接受exit參數:

class TestProgram(object):
    ...
    def __init__(self, module='__main__', defaultTest=None, argv=None,
                    testRunner=None, testLoader=loader.defaultTestLoader,
                    exit=True, verbosity=1, failfast=None, catchbreak=None,
                    buffer=None):
        ...

所以......我不知道這個錯誤是怎么發生的。 您是否安裝了更多版本的Python? 你的測試是否真的使用Python 2.7的正確unittest模塊? 你能看一下unittest\\main.py (你的C:\\Python27某個地方)並檢查TestProgram構造函數,它是否有exit參數?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM