我是PyDev和Python的新手,尽管我已经使用Eclipse for Java了。我正在尝试通过一些Dive Into Python示例,这感觉就像一个非常微不足道的问题,只是变得非常烦人。我正在使用Ubuntu Linux 10.04。
我希望能够使用文件odbchelper.py,它位于目录/Desktop/Python_Tutorials/diveintopython/py
这是我在PyDev / Eclipse项目中正在处理的example.py文件:
import sys
sys.path.append("~/Desktop/Python_Tutorials/diveintopython/py")
这很好用,但我希望我的代码的下一行是:
import odbchelper
这会导致每次都出现未解决的导入错误。我已将__init__.py
个文件添加到几乎所有可能的目录中,但它没有任何帮助。我已经尝试一次一个地添加__init__.py
个文件到项目位置和odbchelper.py文件之间的各个目录级别,我也尝试将__init__.py
个文件添加到所有文件中目录之间同时进行。两者都不起作用。
我想做的就是在其他目录中的某个地方有一个项目,比如/Desktop/MyStuff/Project
,其中我有example.py ...然后从example.py我要从{导入odbchelper.py {1}}
我可以找到每个留言板响应,只是说使用/Desktop/Python_Tutorials/diveintopython/py/
函数将此目录添加到我的路径中,然后导入它......但这正是我在我的代码中所做的,而不是工作
我还尝试了 Ctrl - 1 技巧来抑制错误信息,但程序仍无法正常运行。我收到错误sys.path.append()
。因此,显然没有添加路径,或者存在一些问题,即我添加ImportError: No module named odbchelper
文件的所有排列都错过了。
令人非常沮丧的是,这个简单的东西......从我机器上其他地方存在的某个文件调用东西......需要这么多努力。
答案 0 :(得分:128)
在你的pydev项目的属性中,有一个名为“PyDev - PYTHONPATH”的窗格,其中有一个名为“External Libraries”的子窗格。您可以使用该窗格将源文件夹(具有__init__.py
的任何文件夹)添加到路径中。然后,您的项目代码将能够从这些源文件夹中导入模块。
答案 1 :(得分:44)
我正在使用eclipse kepler 4.3,PyDev 3.9.2和我的ubuntu 14.04遇到了同样的问题。我尝试并花了几个小时,以上所有的选项,但都是徒劳的。然后我尝试了以下很棒的事情:
我正在使用Python 2.7作为解释器,但我认为它没有效果。
答案 2 :(得分:42)
我刚刚将WXWindows项目升级到Python 2.7,并且让Pydev无法识别新的解释器。与上面配置解释器一样,完全安装了Eclipse和Pydev。认为python的某些部分一定是腐败的,所以我重新安装了一切。 Arghh!关闭并重新打开项目,并在所有这些更改之间重新启动Eclipse。
最后注意到您可以通过右键单击项目来“删除PyDev项目配置”。然后它可以再次制作成PyDev项目,现在它就像黄金一样好!
答案 3 :(得分:17)
我修复了我的pythonpath,当我通过控制台导入内容时,一切都很花花公子,但所有这些以前未解析的导入仍然在我的代码中被标记为错误,无论我重启eclipse或刷新/清理项目多少次。
我右键单击了项目 - > Pydev->删除了错误标记,它解决了这个问题。不用担心,如果您的代码包含实际错误,则会重新标记。
答案 4 :(得分:10)
项目 - >属性 - > pydev-pythonpath - >外部库 - >添加源文件夹,添加项目的PARENT FOLDER。然后重启eclipse。
答案 5 :(得分:4)
这对我有用(由soulBit建议):
1) Restart using restart from the file menu
2) Once it started again, manually close and open it.
这是迄今为止最简单的解决方案,它完全消除了烦人的事情。
答案 6 :(得分:1)
有两种方法可以解决这个问题:
现在我不再看到错误,代码完成功能也适用于“bottle”。
答案 7 :(得分:1)
我正在运行Eclipse 4.2.0(Juno)和PyDev 2.8.1,并且在我的site-packages路径中安装了lib时遇到了这个问题。根据这个SO问题:
... PyDev和pyc文件存在问题。对于我试图引用的特定lib的情况,所有提供的都是pyc文件。
以下是我为解决这个问题所做的工作:
对site-packages lib中的* .pyc文件运行uncompyle2。示例:
uncompyle2 -r -o / tmp / path / to / site-packages / lib
与.pyc文件相关的未解决的导入错误现在应该消失。
答案 8 :(得分:0)
以下,在我看来会解决问题
一个。根据大卫德国人的建议。但是,这仅适用于您所在的特定项目 湾添加"〜/ Desktop / Python_Tutorials / diveintopython / py"进入Window下的新PythonPath - >偏好 - > PyDev - >口译员 - > Python解释器 - >库子选项卡 - > NewFolder
希望它有所帮助。
答案 9 :(得分:0)
在尝试解决问题之后,通过理解,我在导入其他库时遇到了一些问题 PYTHONPATH,解释器和语法我发现我做了所有写的工作,但问题仍然存在。之后,我只是在具有导入错误的文件中添加一个新的空行并保存,然后错误得以解决。
答案 10 :(得分:-1)
KD.py
class A:
a=10;
KD2.py
from com.jbk.KD import A;
class B:
b=120;
aa=A();
print(aa.a)
这适合我的文件
另一个例子是
main.py
=======
from com.jbk.scenarios.objectcreation.settings import _init
from com.jbk.scenarios.objectcreation.subfile import stuff
_init();
stuff();
settings.py
==========
def _init():
print("kiran")
subfile.py
==========
def stuff():
print("asasas")