在Windows上运行由virtualenv-commands安装的脚本时出现问题



在Windows上运行已安装的脚本有一个问题,可以在下面看到

C:UsersPiotr>where python
C:program filesPython2.7python.exe
C:UsersPiotr>python c:program filesPython2.7scriptsve init
[Errno 2] No such file or directory
Is "ve-init" executable in the current path?
C:UsersPiotr>

我试图通过以下建议来解决这个问题如何运行安装的python脚本?问题,但没有运气:

C:UsersPiotr>assoc .py
.py=Python.File
C:UsersPiotr>ftype Python.File
Python.File=c:program filesPython2.7python.exe "%1" %*
C:UsersPiotr>dir /b "c:program filespython2.7scripts"
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:UsersPiotr>python c:program filesPython2.7Scriptsve.py init
[Errno 2] No such file or directory
Is "ve-init" executable in the current path?

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

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

然而,这还不足以使virtualenv-commands在Windows上工作,因为这个包使用了Unix特定的工具,而这些工具在Windows上是不可用的。

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

相关内容

  • 没有找到相关文章

最新更新