【发布时间】:2014-11-06 13:05:43
【问题描述】:
所以我正在做一个项目,我将其他 Python 模块的所有路径都定义为绝对路径:
import sys
sys.path.append('/home/user123/my_project/utilities')
import file_utilities
但后来我将项目移到了另一个文件夹,这破坏了一切。我必须手动编辑所有路径以说明文件夹更改。
我最初使用绝对路径是不是一个糟糕的选择?我最初避免使用相对路径,因为我认为它会很快变得丑陋:
import sys
sys.path.append('../../../../utilities')
import file_utilities
最佳做法是什么?
【问题讨论】:
-
最好的做法是不要过多地使用
sys.path。 -
使用 virtualenv 将您的代码和依赖项收集在一起,这将确保您的 sys.path 是正确的。
-
@MartijnPieters 在这个例子中你将如何导入
file_utilities? -
@usualme:我会使用虚拟环境或扩展来将
file_utilities包含在离家更近的地方。
标签: python python-2.7 python-import