2017-05-24 120 views
0

我经常使用终端运行程序,因为这样会使速度提高3倍。我最近从2016版的Pycharm升级到2017版,现在我无法再运行程序在终端。终端不喜欢的行是:程序在Pycharm中运行,但不在终端中

wb4 = load_workbook('../temp_proof.xlsx') 

再次,这条线与Pycharm正常工作。我去了终端,并确保它在正确的目录中,当我按ls时,该文件在目录中。

Here is the terminal error message: 
File "/Users/bobsmith/PycharmProjects/inference_engine2/inference2/Proofs/prove.py", line 36, in <module> 
    wb4 = load_workbook('../temp_proof.xlsx') 

    File "/Library/Python/2.7/site-packages/openpyxl/reader/excel.py", line 151, in load_workbook 
    archive = _validate_archive(filename) 

    File "/Library/Python/2.7/site-packages/openpyxl/reader/excel.py", line 115, in _validate_archive 
    archive = ZipFile(filename, 'r', ZIP_DEFLATED) 

    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/zipfile.py", line 756, in __init__ 
    self.fp = open(file, modeDict[mode]) 
IOError: [Errno 2] No such file or directory: '../temp_proof.xlsx' 
+0

很明显,在Pycharm和console中使用的环境设置是不同的;再次检查,如果它是在pycharm方检查项目环境之前工作 - 可能会注意到一些异常情况。从2016年升级到2017年时,我也遇到了问题 - 他们在更新过程中存在一些错误;一个更多的解决方案 - 有下一个2017年升级 - 安装,如果你仍然有2016年活着使用。 – Drako

+1

问题出在你运行python文件的地方,试着将完整路径传给python程序里面的文件,或者把文件保存在python文件所在的目录下,然后调用程序 – Exprator

+0

Drako ,我不知道你的意思。终端不应该使用Pycharm所做的所有设置? Exprator,我试过你的解决方案,但它不起作用,但感谢你的帮助。 – bobsmith76

回答

0

对于一些原因,我不得不把斜线在用户面前,像这样:

wb4 = load_workbook('/Users/bobsmith/PycharmProjects/inference_engine2/inference2/temp_proof.xlsx') 

我想我之前尝试过,但是这一次它的工作。也可能是这种情况,我不得不重新配置我的Pycharm工作目录。所以我不确定真正的原因是什么。

0

它似乎从temp_proof.xlsx文件位置获得abs路径。 做低于这个步骤

  1. 转到文件夹路径从该位置temp_proof.xlsx
  2. 开Python解释器,并找到ABS位置路径,即蟒蛇 进口OS LOCPATH = os.getcwd()
  3. 使用LOCPATH值来访问temp_proof.xlsx文件 即文件路径= os.path.join(locapth, 'temp_proof.xlsx')
  4. 文件路径,你可以使用 WB4 = load_workbook(文件路径)

这将工作

相关问题