Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pyinstaller--保存数据时添加数据文件NotFoundError_Python_Pandas_Pyinstaller - Fatal编程技术网

Python Pyinstaller--保存数据时添加数据文件NotFoundError

Python Pyinstaller--保存数据时添加数据文件NotFoundError,python,pandas,pyinstaller,Python,Pandas,Pyinstaller,我正试图从python脚本中生成一个可执行文件,我发现了很多关于它的好评论 我的脚本包含一些读取csv文件的指令。我尝试通过运行以下命令将文件添加到捆绑包: pyinstaller——添加数据“data.csv:”test.py 可执行文件创建得很好,但是当我尝试打开它时,我得到以下错误: Traceback (most recent call last): File "test.py", line 20, in <module> File "t

我正试图从python脚本中生成一个可执行文件,我发现了很多关于它的好评论

我的脚本包含一些读取csv文件的指令。我尝试通过运行以下命令将文件添加到捆绑包:

pyinstaller——添加数据“data.csv:”test.py

可执行文件创建得很好,但是当我尝试打开它时,我得到以下错误:

Traceback (most recent call last):
  File "test.py", line 20, in <module>
  File "test.py", line 10, in __init__
  File "test.py", line 13, in play
  File "pandas/io/parsers.py", line 686, in read_csv
  File "pandas/io/parsers.py", line 452, in _read
  File "pandas/io/parsers.py", line 946, in __init__
  File "pandas/io/parsers.py", line 1178, in _make_engine
  File "pandas/io/parsers.py", line 2008, in __init__
  File "pandas/_libs/parsers.pyx", line 382, in pandas._libs.parsers.TextReader.__cinit__
  File "pandas/_libs/parsers.pyx", line 674, in pandas._libs.parsers.TextReader._setup_parser_source
FileNotFoundError: [Errno 2] No such file or directory: 'data.csv'
[16046] Failed to execute script test
Saving session...completed.

[Process completed]

和我的项目文件夹

test_pyinstaller
 ├───test.py
 └───data.csv
我错过了什么

更新:
因此,我在代码中添加了这个命令:
os.getcwd()
,以找出脚本找不到csv文件的原因,结果发现工作目录是我计算机的主文件夹,而不是脚本所在的目录。如何更正此错误以将工作目录指向实际脚本位置?谢谢。

我更喜欢在基于Linux的操作系统上开发代码,但我发现在使用Anaconda的windows环境中使用auto py to exe更容易。auto py to exe也是一个GUI工具,允许您根据需要轻松配置.exe文件。它也应该在虚拟Windows虚拟机上工作


链接:

多亏了另一篇关于StackOverflow的帖子,我找到了一个解决方案:

解决方案:
#/usr/bin/env python
#编码:utf-8
作为pd进口熊猫
将numpy作为np导入
导入操作系统
导入系统
类MyGame():
定义初始化(自):
#获取csv文件所在的脚本目录。
如果getattr(系统“冻结”,错误):
应用程序路径=系统路径
其他:
应用程序\路径=os.path.dirname(os.path.abspath(\文件\文件))
self.path=应用程序路径
self.play()
def播放(自我):
打印(self.path)
打印(self.path+“/data.csv”)
data=pd.read\u csv(self.path+“/data.csv”)
使用pd.option\u上下文('display.max\u rows',None',display.max\u columns',None):
打印(数据)
输入()
如果名称=“\uuuuu main\uuuuuuuu”:
我的游戏()

您使用的是什么操作系统?您的措辞意味着您在运行pyinstaller时出现了该错误-但错误消息说是在运行生成的exe时出现的-是哪一个?请尝试阅读文档,例如。-有关如何在运行时@barny Yeah查找捆绑文件,请参阅此文档。很抱歉,错误是当我尝试运行pyinstaller生成的可执行文件时,我正在更新我的问题。Thanks@tdelozie我在mac上谢谢,我会看一看,如果对我有用,我会告诉你的。你好,很抱歉耽搁了。我仍然会犯同样的错误。在捆绑包中翻译csv文件时,csv文件的路径是否不正确?e、 g.我不应该这样访问文件:
data=pd.read\u csv(“data.csv”)
??