ImportError при использовании web.py с новой средой - PullRequest
1 голос
/ 12 марта 2011

Я просто воссоздал всю свою среду python, переустановил python и setuptools и установил virtualenv. Я запустил тестовую среду с virtualenv --no-site-packages test, активировал ее с Scripts\activate.bat и затем easy_install web.py. Затем я создаю code.py файл:

import web

urls = (
    '/.*', 'index',
)

app = web.application(urls, globals())

class index:
     def GET(self):
            return 'ok'

if __name__ == "__main__": app.run()

И я получаю следующую ошибку:

File "...\code.py", line 1, in <module>
import web
ImportError: No module named web

Но если я использую интерактивную оболочку, она работает:

>>> import web
>>>

Все сделано в том же cmd с активированной окружающей средой.

Кто-нибудь знает, что происходит?

Edit:

Это происходит для каждого пакета, установленного в среде. Сначала это был web.py, теперь BeautifulSoup (та же проблема, не могу найти модуль, но импорт работает в оболочке python)

Edit2:

Сценарий активации не устанавливает новый исполняемый файл python, а pythonpath print sys.executable дает C:\Python27\python.exe.

1 Ответ

1 голос
/ 12 марта 2011

решаемая.

Windows была настроена на открытие файлов .py с C:\Python27\python.exe. Я даже помню, как настраивал этот мануал некоторое время назад, чтобы мне не пришлось использовать python для запуска файлов (о, лень, что ты со мной сделал?).

Вот почему он работал с интерактивной оболочкой, а не с помощью файла code.py.

Запуск файла с использованием python code.py работает отлично.

...