0

在 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?

我认为这种情况下的特别之处在于脚本通过 OS ( )ve运行命令脚本 (ve-init等)。ve-cloneos.execvp()

4

1 回答 1

0

解决方案是向环境变量添加.py扩展名,PATHEXT以便 Python 脚本可以在不指定扩展名的情况下运行(只要它们在PATH.

尽管如此,这还不足以让virtualenv-commands在 Windows 上运行,因为这个包使用了 Unix 特定的工具,而这些工具在 Windows 上是不可用的。

有趣的是,我猜想创建virtualenv-commands背后的想法是通过不使用 shell 脚本使其比virtualenvwrapper更便携,但目前的实现似乎只支持 Unix。

于 2011-10-02T20:02:05.573 回答