我正在尝试在 ubuntu server 12.04 上运行一个简单的 python 程序。但是我编写的一个模块出现了导入错误。模块文件夹有一个在里面.py 文件夹,但是 python 似乎找不到它,并给出以下错误
user1@cl:~/git/p1/test$ ls
modules prog1.py
user1@cl:~/git/p1/test$ python prog1.py
Traceback (most recent call last):
File "prog1.py", line 8, in <module>
from modules import find
ImportError: No module named modules
从阅读相关问题看来,我需要设置一个 python 路径。有人能告诉我具体需要修改哪些文件吗?我看到的建议包括 .bashrc .bash_profile 和 .profile。还有我需要将路径指向哪个目录。我不太确定这应该是我的主目录还是程序所在的确切文件夹,或者是模块所在的文件夹。
抱歉,如果这是一个非常基本的问题,我是 ubuntu 新手
答案1
从你的问题来看,我不确定具体情况是什么,但是要从 python 程序或脚本设置(任何)路径:
import sys
sys.path.insert(0, "/path/to/your/module(s)")
但是,查看问题的前两行,程序和文件夹都modules
位于同一目录中,因此无需设置路径。看起来您的__init__.py
文件有问题;您提到了“init.py”文件夹,但__init__.py
其中是否有一个(空)文件?
模块结构应该是:
modules (folder)
|___ __init__.py
|___ file1.py
|___ file2.py
ETC。
导入:
from modules import file1, file2 (file1, 2 without extension)
答案2
你应该先看看python文档与包相关。
现在如果您需要提供模块的路径,请按照以下步骤操作:
cd ~/git/p1/test
PYTHONPATH=/home/user1/ python ./prog1.py
只需将其替换/home/user1/
为您自制模块的完整路径即可。