向师父们请教 Python 项目的导包问题

2020-04-18 16:04:49 +08:00
 mart1nN

项目目录大概如下

root 目录

-pk1

--__init__.py

--pk2

---__init__.py

---module1.py

---module2.py

module2.py 中如下导包

from pk1.pk2 import module1
...

在本地没问题,上传到服务器上运行 module2.py 就报错 ImportError: No module named 'pk1'。我是直接把项目的文件夹拷贝到服务器上的

咋整啊师父们。

2103 次点击
所在节点    Python
6 条回复
xiri
2020-04-18 16:32:12 +08:00
你需要把你的项目文件加所在位置加到 sys.path 里面去
renmu
2020-04-18 16:36:22 +08:00
你本地 Python 环境是不是和服务器的不一样,我怀疑是 Python3 和 2 的默认导入方式不一致引起的
guyeu
2020-04-18 16:43:19 +08:00
有个环境变量叫 PYTHONPATH
csdreamdong
2020-04-18 16:51:46 +08:00
import 包的位置,print 下 sys.path
确定 pk1 是否在路径里。
lcvvvv
2020-04-18 17:26:15 +08:00
直接导就行了
import module1
raymanr
2020-04-18 17:43:26 +08:00
module1 和 module2 在同一级目录?
试试
from . import module1

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/663762

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX