首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法在Python中导入我自己的模块

无法在Python中导入我自己的模块
EN

Stack Overflow用户
提问于 2012-02-22 02:27:20
回答 7查看 385K关注 0票数 168

我很难理解在Python中模块导入是如何工作的(我以前也从来没有用其他语言做过)。

假设我有:

代码语言:javascript
复制
myapp/__init__.py
myapp/myapp/myapp.py
myapp/myapp/SomeObject.py
myapp/tests/TestCase.py

现在我试着得到这样的东西:

代码语言:javascript
复制
myapp.py
===================
from myapp import SomeObject
# stuff ...

TestCase.py
===================
from myapp import SomeObject
# some tests on SomeObject

然而,我肯定做错了什么,因为Python看不到myapp是一个模块:

代码语言:javascript
复制
ImportError: No module named myapp
EN

回答 7

Stack Overflow用户

发布于 2012-02-22 02:31:19

函数import在您的PYTHONPATH环境中查找文件。变量和您的本地目录。因此,您可以将所有文件放在同一目录中,也可以将路径导出到终端::

代码语言:javascript
复制
export PYTHONPATH="$PYTHONPATH:/path_to_myapp/myapp/myapp/"
票数 48
EN

Stack Overflow用户

发布于 2013-05-21 07:36:23

导出路径是一种很好的方法。另一种方法是向您的站点包位置添加一个.pth。在我的mac上,我的python将站点包保存在/Library/Python中,如下所示

代码语言:javascript
复制
/Library/Python/2.7/site-packages

我在/Library/Python/2.7/site-packages/awesome.pth中创建了一个名为awesome.pth的文件,并在该文件中放入以下引用我的优秀模块的路径

代码语言:javascript
复制
/opt/awesome/custom_python_modules
票数 12
EN

Stack Overflow用户

发布于 2017-03-06 21:54:16

你可以试试

代码语言:javascript
复制
from myapp.myapp import SomeObject

因为您的项目名称与使其首先搜索项目文档的myapp.py相同

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9383014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档