繁体   English   中英

python:从不同目录运行相同代码时,结果不同

[英]python: different results when running the same code from different directories

我将代码从本地分支(称为“ abc”)推送到远程存储库。

我从存储库中下载了代码(在名为“ xyz”的文件夹下),并将其放在本地分支“ abc”所在的文件夹下。

当我从“ xyz”运行代码时,代码有效。
当我从本地分支“ abc”运行代码时,出现导入错误。

我已经确认我的本地分支与主分支是最新的。

为什么会发生这种情况的任何线索?
我不明白为什么会出现导入错误,尤其是因为两个文件夹(即abc和xyz)都在同一个文件夹下,并且我都从同一个python终端运行这两个文件夹。

导入错误消息如下:

Traceback (most recent call last):
  File "./startActiveLearningWithRationales.py", line 1985, in <module>
    =load_dataset(args.dataset, args.validationSet, args.includeRationalesDuringAL, args.includeAllRationalesAtOnce, args.rationalesToIncorporate, args.statisticsToPrint)

  File "./startActiveLearningWithRationales.py", line 38, in load_dataset
    original_dataset = pickle.load(open(dataFileName, 'rb'))

  File "C:\Users\xxx\Anaconda2\lib\pickle.py", line 1384, in load
    return Unpickler(file).load()

  File "C:\Users\xxx\Anaconda2\lib\pickle.py", line 864, in load
    dispatch[key](self)

  File "C:\Users\xxx\Anaconda2\lib\pickle.py", line 1096, in load_global
    klass = self.find_class(module, name)

  File "C:\Users\xxx\Anaconda2\lib\pickle.py", line 1130, in find_class
    __import__(module)

ImportError: No module named multiarray

经过一些调试后,发现问题与调用打开的实际数据文件本身有关:pickle.load(open(dataFileName,'rb'))。 请注意,dataFileName =“ xxx.dat”

好像本地分支上的“ xxx.dat”和我从远程存储库下载的“ xxx.dat”之间存在格式更改。 这可能吗?如果可以,为什么?

格式变更了吗? Git可能已更改了行尾(例如CR vs LF vs CRLF vs LFCR)。 我不知道这对解酸过程是否重要。

默认情况下,Git尝试对运行git clone平台使用适当的形式。

可以通过以下方法进行更改:您可以尝试git config core.autocrlf input

参见https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#Formatting-and-Whitespace

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM