Я пытаюсь настроить среду Turbogears для Python, следуя руководству здесь http://turbogears.readthedocs.org/en/latest/turbogears/wiki20.html#wiki20

Я застрял на этапе virtualenv tgnev, пытаясь найти решение, предложенное в сообщении об исключении, и нескольких других вещах, и мне нужны некоторые указатели.

C:\WINDOWS\system32>virtualenv tgenv
Using base prefix 'c:\\program files (x86)\\python 3.5'
New python executable in tgenv\Scripts\python.exe
ERROR: The executable tgenv\Scripts\python.exe is not functioning
ERROR: It thinks sys.prefix is 'c:\\windows\\syswow64\\tgenv' (should be 'c:\\windows\\system32\\tgenv')
ERROR: virtualenv is not compatible with this system or executable
Note: some Windows users have reported this error when they installed Python for "Only this user" or have multiple versions of Python installed. Copying the appropriate PythonXX.dll to the virtualenv Scripts/ directory may fix this problem.

Я совершенно новичок в Python и virtualenv, поэтому, пожалуйста, не думайте, что я ничего не знаю!

Интересно, что system32\tgenv не существует, а syswow64 существует, поэтому похоже, что virtualenv совершает ошибку?

1 ответ1

0

http://turbogears.readthedocs.org/en/latest/turbogears/wiki20.html#wiki20

В этом руководстве предполагается, что у вас есть работающая среда Python с Python2.6 или Python2.7 с установленным pip, и у вас есть работающий браузер для просмотра веб-приложения, которое вы разрабатываете.

У вас есть Python 3.5 - это может быть виновником. Есть несколько различий, которые могут привести к неправильной работе python-скриптов / программ, нацеленных на более старую версию.


https://wiki.python.org/moin/Python2orPython3 :

Гвидо ван Россум (Guido van Rossum) (первоначальный создатель языка Python) решил должным образом очистить Python 2.x, уделяя меньше внимания обратной совместимости, чем в случае новых выпусков в диапазоне 2.x. Самым значительным улучшением является улучшенная поддержка Unicode (все текстовые строки по умолчанию имеют Unicode), а также более разумное разделение байтов /Unicode.

Кроме того, некоторые аспекты базового языка (такие как print и exec, являющиеся операторами, целыми числами, использующими разделение по этажам) были скорректированы, чтобы было легче учить новичков и чтобы они были более совместимы с остальным языком, а старый код был удален (например, все классы теперь в новом стиле, «range ()» возвращает итерацию с эффективным использованием памяти, а не список, как в 2.x).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .