windows使用github代码的常见问题

由于最近频繁地使用github,发现了使用github的一些小问题。自己手上的笔记本是windows10的系统,但是github上大多数的代码都是使用linux系统写出来的,这样导致代码里的README文件主要针对linux系统运行和测试,在windows上没有相关的命令。
为了记录下这些常见的问题,将会持续更新这篇文章。

1 git clone … .git

这个命令在windows下也可以实现,但是需要提前安装好git版本控制工具。这句话的主要作用就是将指定网址下的代码文件包下载下来,和手动下载zip压缩包差距不大,区别在使用git下载下来的代码包会带有版本的更替信息。
常见的git工具命令还有bash + … sh + … ,详细内容可以搜索git查看。

2 代码中的parser.add_argument(…)及命令行运行程序

在很多github的程序中,会见到很多的parser.add_argument()代码,仿佛在对变量进行赋值,但是又没有说明赋值的语句在哪。
此外,经常在README中发现需要使用命令行来运行程序,里面都会带有一些参数,例如:

python test.py --epoch=100

这会让习惯于一键pycharm run的我们有点陌生,在文件内也找不到传参的地方。
而parser.add_argument()就是为了上面这种运行方式而存在的,也就是为了在命令行种显式地指定参数。这样不打开文件,直接在命令行中就可以运行不同参数的程序了,这个习惯是linux运行程序的一种习惯,在windows中也一样可以运行。
例如程序test.py中:

parser.add_argument('--resume', default='', type=str, metavar='PATH',
                    help='path to latest checkpoint (default: none)')

意思就是说可以指定一个叫resume的参数,不指定的话默认就是空。
在命令行中运行程序时:

python test.py --resume="pretrained_models/resnet44.th"

就可以把参数传进去运行程序了,注意命令行得在指定文件夹路径下。关于更详细的内容可以去搜索parser库。

3 路径问题

由于linux程序和windows程序在运行时,会有一些路径上的区别,因此一些程序的路径就会有问题。路径问题是复制粘贴式运行代码里最常见的问题之一,可能有以下几个问题:

1)中英文

在一些库包中,是不支持中文路径的,虽然utf-8编码不建议它这么做。例如,最常见的就是pillow.write(path),这个路径path就不能有中文,否则图片写不出来,但是也不报错。还有其他的一些库也是这样。

2)\ 与 /

在python代码中,这两个都可以表示路径,但是一般用 \ 时会用两个(\\)来防止其转义。
路径中到底使用\ 还是 / 需要统一一下,虽然有时候类似于 C:\user\wang/code/test.png 的路径也能运行,但是在一些特殊情况时就会报错。

3) 绝对路径与相对路径

在一些程序中,会使用绝对路径,虽然作者一般会在README中去说。虽然推荐使用相对路径,但是在有些特殊情况下相对路径没办法运行程序。github程序中的绝对路径是一定需要修改的(除非很巧)。

4 程序不报错,也没结果

这种情况就是在程序中可能存在不恰当的异常捕捉,导致问题程序没有反馈出来。一般github上的作者不会这么做,但是作者调的一些库或者包里,可能会产生这样的问题,最常见的比如python的多进程池的添加,里面就有大量的异常捕捉。
这种时候尝试使用二分法从上到下找出程序在哪里停止执行的,并找到其数据接口,来定位问题,可以使用print()或者debug。

持续更新github的踩坑经历
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值