模块不存在:csv

3

使用以下环境:

  • Windows 7
  • Mercurial 3.4.1,Python版本为2.7.9

当在控制台窗口执行hg dummy命令时,下面的Python脚本会产生以下控制台输出:

start reading file
abort: No module named csv!

这是Python脚本:
import csv
import sys

def dummy(ui, repo, node, **opts)
  with open('file.csv', 'rb') as csvfile:
    print 'start reading file'
    reader = csv.reader(csvfile)
    print 'finished reading file'

cmdtable = {
  'dummy': (dummy, 
  [('', '', None, '')], '',)
}

尝试使用绝对路径到csv文件,但这并没有帮助。

所有在线示例都使用“import csv”,看起来这是有效的。

是什么导致了这个问题?Python默认支持CSV还是需要安装附加组件?


运行 pip list 并检查是否存在 csv! - SIslam
1
@SIslam csv是一个内置模块,因此pip list不会显示它。 - Ffisegydd
@Lars 你有使用过变量 csv 或者在某个地方调用了一个名为 csv.py 的文件吗? - Ffisegydd
啊!那就试试 help()>modules。 - SIslam
错误提示:未使用名为csv的变量或文件csv.py。 - LarsA
你是如何设置 hg 以运行 dummy 命令的?在导入后面加上 print sys.path 来查看它在哪里寻找模块。 - alexis
2个回答

1

Python自带csv支持。我按照alexis的建议使用print sys.path,发现Mercurial引用了..\Program Files\TortoiseHg\library.zip而不是实际的Python安装文件夹。将Python安装文件夹中的csv.py复制到Mercurial的library.zip文件中解决了问题。


-1

模块名称是csv而不是CSV。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接