使用数据版本控制在 mingw 中解析路径失败
Resolving paths in mingw fails with Data Version Control
我在 Windows 7 上使用 mingw32
关注 tutorial about Data Version Control。
当我尝试使用 run:
时出现非常奇怪的错误
$ dvc run -v echo "hello"
Debug: updater is not old enough to check for updates
Debug: PRAGMA user_version;
Debug: fetched: [(2,)]
Debug: CREATE TABLE IF NOT EXISTS state (inode INTEGER PRIMARY KEY, mtime TEXT NOT NULL, md5 TEXT NOT NULL, timestamp TEXT NOT NULL)
Debug: CREATE TABLE IF NOT EXISTS state_info (count INTEGER)
Debug: CREATE TABLE IF NOT EXISTS link_state (path TEXT PRIMARY KEY, inode INTEGER NOT NULL, mtime TEXT NOT NULL)
Debug: INSERT OR IGNORE INTO state_info (count) SELECT 0 WHERE NOT EXISTS (SELECT * FROM state_info)
Debug: PRAGMA user_version = 2;
Running command:
echo hello
/c: /c: Is a directory
Debug: SELECT count from state_info WHERE rowid=1
Debug: fetched: [(1,)]
Debug: UPDATE state_info SET count = 1 WHERE rowid = 1
Error: Traceback (most recent call last):
File "dvc\command\run.py", line 18, in run
File "dvc\project.py", line 265, in run
File "dvc\stage.py", line 435, in run
StageCmdFailedError: Stage 'Dvcfile' cmd echo hello failed
Error: Failed to run command: Stage 'Dvcfile' cmd echo hello failed
问题:
/c: /c: Is a directory
从何而来?我该如何解决?
我的发现
我以为它正在解析 echo 的路径,但 ech 是内置的。
$ type echo
echo is a shell builtin
我也尝试使用 exit
和 cd
,但我遇到了同样的错误。
在没有 dvc 的情况下调用命令可以正常工作。
dvc
与 --no-exec
标志工作正常,但稍后使用 repro
执行时会出现相同的错误。
我是dvc 开发人员之一。类似的错误影响了 cygwin 上的 dvc 运行。我们已在 0.20.0
中发布了修复程序。请升级。
我在 Windows 7 上使用 mingw32
关注 tutorial about Data Version Control。
当我尝试使用 run:
时出现非常奇怪的错误$ dvc run -v echo "hello"
Debug: updater is not old enough to check for updates
Debug: PRAGMA user_version;
Debug: fetched: [(2,)]
Debug: CREATE TABLE IF NOT EXISTS state (inode INTEGER PRIMARY KEY, mtime TEXT NOT NULL, md5 TEXT NOT NULL, timestamp TEXT NOT NULL)
Debug: CREATE TABLE IF NOT EXISTS state_info (count INTEGER)
Debug: CREATE TABLE IF NOT EXISTS link_state (path TEXT PRIMARY KEY, inode INTEGER NOT NULL, mtime TEXT NOT NULL)
Debug: INSERT OR IGNORE INTO state_info (count) SELECT 0 WHERE NOT EXISTS (SELECT * FROM state_info)
Debug: PRAGMA user_version = 2;
Running command:
echo hello
/c: /c: Is a directory
Debug: SELECT count from state_info WHERE rowid=1
Debug: fetched: [(1,)]
Debug: UPDATE state_info SET count = 1 WHERE rowid = 1
Error: Traceback (most recent call last):
File "dvc\command\run.py", line 18, in run
File "dvc\project.py", line 265, in run
File "dvc\stage.py", line 435, in run
StageCmdFailedError: Stage 'Dvcfile' cmd echo hello failed
Error: Failed to run command: Stage 'Dvcfile' cmd echo hello failed
问题:
/c: /c: Is a directory
从何而来?我该如何解决?
我的发现
我以为它正在解析 echo 的路径,但 ech 是内置的。
$ type echo echo is a shell builtin
我也尝试使用
exit
和cd
,但我遇到了同样的错误。在没有 dvc 的情况下调用命令可以正常工作。
dvc
与--no-exec
标志工作正常,但稍后使用repro
执行时会出现相同的错误。
我是dvc 开发人员之一。类似的错误影响了 cygwin 上的 dvc 运行。我们已在 0.20.0
中发布了修复程序。请升级。