|
|
1
1
我猜这不是Python的错,而是Git-Bash外壳。
如果我尝试Cygwin,它会起作用:
|
|
|
2
2
这个问题听起来肯定是由MSY引起的。当一个msys进程执行一个非msys进程(例如,您的msysgit bash shell调用本机Windows python)时,将检查参数是否有任何类似于绝对posix路径的内容(例如,以单个“/”开头的内容),并将这些内容转换为底层的“real”Windows路径,以便非msys程序可以找到它们。出于同样的原因,同样的过程也可能发生在环境变量的内容上。 这就是为什么删除前导的“/”工作(该值不再像posix路径),为什么添加额外的工作(同上),以及为什么在cygwin下工作良好(它不是msys)。我还猜测您在“c:\program files\git”上安装了msys git,这就是为什么msys认为它的“假”posix文件层次结构基于此,并将其添加到“/path/to/dir”的前面。 不幸的是,如果这是解释,那么就没有一个明确的解决方案。我遇到了一个类似的问题,试图通过ssh传递远程路径,但我自己没有找到任何好的方法来解决这个问题,根据上的讨论 http://comments.gmane.org/gmane.comp.gnu.mingw.msys/4511 (从2008年起)除了解决方法,目前还没有明显的解决方法。如果这对你来说变成了一个更大的问题,你可能想在MingWmsys的邮件列表或bug追踪器上提出它。根据GMane的讨论,尽管这是一个已知的问题,但从未正式报告过。 |
|
|
3
1
从msysgit获得的控制台可能是为git用户的需要而修改的,从我的pov中,它只对简单的任务和访问git命令行有用,而不是开发和运行python脚本(在为特定应用程序安装的shell中,您使用的是针对Windows的python安装,听起来不太好)。 你应该安装 Cygwin 以及他的python包(如果您愿意,甚至是git包),以获得一个正确的POSIX环境,并为其准备二进制文件和库。 |