PyCharm模块imp

2024-10-01 17:32:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我是PyCharm的新手,很难将我编写的模块导入Python控制台。如果我试图导入Python本机的模块,那么我可以毫不费力地导入该模块,但是如果我试图导入我编写的模块,我会得到一个ImportError:没有名为“moduletriedtoimportname”的模块。例如,这里有一个简单的自写模块来pickle文件,名为“filepickle”:

import pickle

def saveDbase(filename, object):
    file = open(filename, 'wb')
    #pickle.dump(object, file)       # pickle to file
    #pickle.dump(object, open(filename, 'wb'))
    pickle.dump(object, file)
    file.close()                     # any file-like object will do

def loadDbase(filename):
    file = open(filename, 'rb')
    object = pickle.load(file)       # unpickle from file
    file.close()                     # recreates object in memory
    return object

如果我尝试在PyCharm Python控制台上“import pickle”,那么导入操作不会出现任何错误。如果我尝试“导入filepickle”,则会收到错误消息:

^{pr2}$

如果我在PyCharm中运行filepickle,那么filepickle模块可以正常工作,但是我无法在Python控制台中导入filepickle。如果有人知道如何让PyCharm允许我导入我编写到PyCharm Python控制台中的模块,我将非常感谢您的帮助。在


Tags: 模块importcloseobjectdef错误openfilename
2条回答

我无法重现您的错误(PyCharm 5.0.4、OS X 10.10.5、Python 3.4.3/2.7.6)。 您可以尝试在控制台中运行此代码,以找出当前的工作目录,如果它与filepickle的目录不相同,则很可能是问题所在。在

import os
os.getcwd()

我也有同样的问题。在

解决方案是将模块目录标记为“Source Root”,并配置Python导入“Source Root”目录。在

有关如何执行此操作的屏幕截图,请参阅Contango的答案:

PyCharm does not recognize modules installed in development mode

IMHO,这是PyCharm中的一个bug:这应该是有效的,不应该需要两个单独的步骤来实现任何功能。在

此问题出现在Windows 10(可能还有Linux)上的PyCharm社区版2017.2.3中。在

相关问题 更多 >

    热门问题