環境:金字塔mongodb的支架未能關於Python 3由於粘貼
- 的Python 3.2.3(使用的virtualenv)
- 金字塔1.4
- pyramid_mongodb支架
使用pyramid_mongodb安裝myproject的後腳手架我運行了python setup.py test -q
,並且出現以下錯誤。
running build_ext
Traceback (most recent call last):
File "setup.py", line 33, in <module>
""",
File "/usr/lib/python3.2/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/lib/python3.2/distutils/dist.py", line 917, in run_commands
self.run_command(cmd)
File "/usr/lib/python3.2/distutils/dist.py", line 936, in run_command
cmd_obj.run()
File "/root/App/Big3/lib/python3.2/site-packages/distribute-0.6.24-py3.2.egg/setuptools /command/test.py", line 137, in run
self.with_project_on_sys_path(self.run_tests)
File "/root/App/Big3/lib/python3.2/site-packages/distribute-0.6.24-py3.2.egg/setuptools /command/test.py", line 117, in with_project_on_sys_path
func()
File "/root/App/Big3/lib/python3.2/site-packages/distribute-0.6.24-py3.2.egg/setuptools /command/test.py", line 146, in run_tests
testLoader = loader_class()
File "/usr/lib/python3.2/unittest/main.py", line 123, in __init__
self.parseArgs(argv)
File "/usr/lib/python3.2/unittest/main.py", line 191, in parseArgs
self.createTests()
File "/usr/lib/python3.2/unittest/main.py", line 198, in createTests
self.module)
File "/usr/lib/python3.2/unittest/loader.py", line 132, in loadTestsFromNames
suites = [self.loadTestsFromName(name, module) for name in names]
File "/usr/lib/python3.2/unittest/loader.py", line 132, in <listcomp>
suites = [self.loadTestsFromName(name, module) for name in names]
File "/usr/lib/python3.2/unittest/loader.py", line 91, in loadTestsFromName
module = __import__('.'.join(parts_copy))
File "/root/App/Big3/Lime/lime/__init__.py", line 1, in <module>
from pyramid.config import Configurator
File "/root/App/Big3/lib/python3.2/site-packages/pyramid-1.4.1-py3.2.egg/pyramid/config /__init__.py", line 10, in <module>
from webob.exc import WSGIHTTPException as WebobWSGIHTTPException
File "/root/App/Big3/lib/python3.2/site-packages/WebOb-1.2.3-py3.2.egg/webob/exc.py", line 1115, in <module>
from paste import httpexceptions
File "/root/App/Big3/lib/python3.2/site-packages/Paste-1.7.5.1-py3.2.egg/paste /httpexceptions.py", line 634
except HTTPException, exc:
^
SyntaxError: invalid syntax
我明白錯誤,表示粘貼不是python3兼容。我也知道如何解決它,但這基本上意味着將粘貼到python3(這是我不想做的事),所以任何人都可以告訴我可以做什麼?
從錯誤堆棧我看到webob/exc.py
做from paste import httpexceptions
但是當我檢查了代碼,我看到的是,進口是下一個try
except
塊(不提高在except
任何錯誤),所以我甚至嘗試了測試去除paste
後從lib
但後來當我運行測試,我看到setup.py再次安裝paste
running test
Checking .pth file support in .
/root/App/Big3/bin/python -E -c pass
Searching for Paste>=1.7.1
我檢查.pth文件,並刪除paste
參考,然後開始重新安裝工程的但不知何故,仍然看到paste
要求
Installed /root/App/Big3/Myproject
Processing dependencies for Myproject==0.0
Searching for Paste>=1.7.1
Reading http://pypi.python.org/simple/Paste/
我的setup.py文件是相同this 有人能告訴我這是哪裏paste
依賴性進入我的項目。
很明顯嘛pyramid_mongodb不支持Python 3中。你最好的選擇是看腳手架,並使用它的一部分來達到你的目的,而不會陷入某些細節生成你應該修改的代碼。 – 2013-05-02 05:13:34
我想我的失望是,我將pyramid_mongosbd腳手架與其他工作腳架並排比較,並確保它們看起來相似(只需要支持mongodb的必要更改),但仍粘貼導入(並因此得到執行),而我無法得到它發生的原因。但仍然感謝您對此進行調查和評論。 – 2013-05-02 06:01:16
經過多一點調查,我認爲這是導入調用粘貼的WebError導入,這就是爲什麼失敗。 – 2013-05-02 06:11:21