使用Eclipse和PyDev时,Python脚本可以从命令行运行,文件未找到错误

时间:2011-06-13 12:29:56

标签: python eclipse

文件夹结构:

src
+ root
+ nested
  ++ myprogram.py
  ++ helper.py
  ++ res
    +++ excluded.txt
    +++ whitelist.txt

案例1 - 在eclipse中创建PyDev项目。作为PyDev配置运行。指定主模块和everythin。主要模块是myprogram.py。当使用eclipse运行时,我收到错误 - IOError:[Errno 2]没有这样的文件或目录:'。\ res \ excluded.txt' excluded.txt指定为=> excluded_words_file = r'。\ res \ excluded.txt',在myprogram.py

案例2.使用命令行运行脚本myprogram.py。运行完美。

唯一的区别是Eclipse也在为这个项目使用SVN源代码控制。所以我在将项目与存储库断开连接后尝试了。但仍然是同一个问题。

那么在Eclipse设置中我可能做错了什么?感谢。

2 个答案:

答案 0 :(得分:0)

听起来像路径问题。发布你所看到的内容

import sys
print sys.path

OP说sys.path输出以下内容

C:\Documents and Settings\sumod_pawgi\workspace\SWCTester\src\root\nested 
C:\eclipse\plugins\org.python.pydev.debug_2.1.0.2011052613\pysrc 
C:\Documents and Settings\sumod_pawgi\workspace\SWCTester\src 
C:\Python25\Lib\site-packages 
C:\Python25 
C:\Python25\DLLs 
C:\Python25\lib 
C:\Python25\lib\lib-tk 
C:\Python25\lib\plat-win 
C:\WINDOWS\system32\python25.zip 
C:\eclipse\plugins\org.python.pydev_2.0.0.2011040403\PySrc 
C:\Python25\Lib\site-packages\py2exe

从我看到的情况来看,我可以确定一个问题:您的res目录不在您的路径中。这可以通过以下两种方式之一修复:

  1. 执行sys.path.append('path/to/res/directory')
  2. res目录添加到PyDev运行配置
  3. 中的路径

    OR

    1. 右键单击* .py文件(在Eclipse中),选择“Run as” - > '运行配置......'
    2. 在右侧,选择“参数”选项卡。
    3. 验证“工作目录”部分,检查所选的工作目录(所有必需的文件应该存在于那里 - 如果没有点击'工作区'按钮并从工作区选择文件夹)

答案 1 :(得分:0)

快速调试:

import os
print os.getcwd()

应该让你看到eclipse没有从你从命令行调用的同一目录中运行。

来自python模块 - >右键单击 - >属性 - >运行/调试设置 - > python run - >参数,您可以更改工作目录。 恕我直言并不是一个好主意,更好地改变程序,使其从绝对路径读取,以便无论在何处部署都能使其工作。