我试图安装PyQt4,这样我就可以摆弄它了。安装指南说我必须安装Sip。安装Sip的最后一步是使用make install命令。Windows没有,所以我查了一下,我看到的所有东西都说要安装Cygwin。于是我照做了。但是…在C:\Python31\sip中。

我可以从Cygwin命令运行这个吗?如果是,我该怎么做呢?

或者我可以从正常的windows命令提示符运行这个?如果是,我该怎么做呢?


当前回答

我会添加一些东西,帮助我在cygwin很多。每当建立一个新系统时,我总是这样做

ln -s /cygdrive/c /c

这将创建到/cygdrive/c的符号链接,其中包含一个名为/c的新文件(在主目录中)

然后你可以在壳内做这个

cd /c/Foo
cd /c/

非常方便。

其他回答

在.bashrc中定义一个变量:

export C=/cygdrive/c

然后你可以使用

cd $C/

TAB会自动自动完成(请在结尾加上/)

这里值得一提的是,Cygwin的cygpath仍然不能正确处理间隔的Windows路径,特别是在Cygwin下运行的Bash脚本中。诀窍在于理解Cygwin如何在Bash脚本中解释引号。

以下选项无效:

#!/bin/bash
TBDIR="/cygdrive/c/Program\ Files\ \(x86\)/MyDir/"

if [ -d "${TBDIR}" ]; then 
    echo "Found MyDir directory at: ${TBDIR}"
    cd "$TBDIR"
else 
    echo "MyDir program directory not found!"
    echo "Wrong DIR path: ${TBDIR}"
    exit 1
fi

但这确实有效:

#!/bin/bash
# Cygwin-ism: No quotes!
TBDIR=/cygdrive/c/Program\ Files\ \(x86\)/MyDir/

if [ -d "${TBDIR}" ]; then 
...

据我所知,目前还没有已知的使用cygpath的解决方案,可以在bash脚本上下文中正确处理空格,但您可以在脚本中使用引号。

你可能会经常这样做,在你的.bashrc文件中添加别名,比如:

alias cdc='cd /cygdrive/c'
alias cdp='cd /cygdrive/p'

然后你可以在命令行输入:

cdc

我会添加一些东西,帮助我在cygwin很多。每当建立一个新系统时,我总是这样做

ln -s /cygdrive/c /c

这将创建到/cygdrive/c的符号链接,其中包含一个名为/c的新文件(在主目录中)

然后你可以在壳内做这个

cd /c/Foo
cd /c/

非常方便。

另外,你可能还会喜欢:

shopt -s autocd

这允许您通过键入dir来cd目录

[user@host ~]$ /cygdrive/d
cd /cygdrive/d
[user@host /cygdrive/d]$ 

要使它持久,你应该将它添加到~/.bashrc中