Проблемы с запуском скриптов, установленных с помощью virtualenv-команд в Windows

Существует проблема с запуском установленных скриптов в Windows, которую можно увидеть ниже

C:\Users\Piotr>where python
C:\program files\Python\2.7\python.exe
C:\Users\Piotr>python c:\program files\Python\2.7\scripts\ve init
[Errno 2] No such file or directory
Is "ve-init" executable in the current path?
C:\Users\Piotr>

Я попытался решить эту проблему, следуя советам в Как запустить установленный скрипт Python? вопрос но без везения

C:\Users\Piotr>assoc .py
.py=Python.File
C:\Users\Piotr>ftype Python.File
Python.File=c:\program files\Python\2.7\python.exe "%1" %*
C:\Users\Piotr>dir /b "c:\program files\python\2.7\scripts"
easy_install-2.7-script.py
easy_install-2.7.exe
easy_install-script.py
easy_install.exe
pip-2.7-script.py
pip-2.7.exe
pip-script.py
pip.exe
ve-clone
ve-extend
ve-init.py
ve.py
virtualenv-script.py
virtualenv.exe    
C:\Users\Piotr>python c:\program files\Python\2.7\Scripts\ve.py init
[Errno 2] No such file or directory
Is "ve-init" executable in the current path?

Я думаю, что особенного в этом случае является то, что ve скрипт запускает командные скрипты (ve-init, ve-clone и т.д.) через ОС (os.execvp()).

1 ответ

Решение состоит в том, чтобы добавить .py расширение до PATHEXT переменная окружения, чтобы скрипты Python можно было запускать без указания расширения (если они находятся на PATH).

Тем не менее этого недостаточно для того, чтобы команды virtualenv работали в Windows, поскольку этот пакет использует специальные инструменты Unix, которые недоступны в Windows.

Забавно, я думаю, идея создания команд virtualenv состояла в том, чтобы сделать его более переносимым, чем virtualenvwrapper, не используя сценарии оболочки, но, похоже, текущая реализация поддерживает только Unix.

Другие вопросы по тегам