sys.path.append()是一个好的解决方法吗?

问题描述 投票:1回答:2

[我看到我的一些同事使用以下变通办法来导入外部python模块(不安装它们)。

import sys

sys.path.append(<PATH_TO_MODULE>)
import <module>
sys.path.remove(<PATH_TO_MODULE>)

我认为这不是一个好方法,但是“有效”。我应该建议他们代替以下代码做什么,为什么?

谢谢!

python structure python-import
2个回答
0
投票

另一种方法是将模块的路径附加到PYTHONPATH

export PYTHONPATH="${PYTHONPATH}:/path/to/your/module/"

通过这种方式,您的源代码中不会被硬编码,只要发生更改,您只需将新路径导出到PYTHONPATH


0
投票

听起来您的同事似乎并没有制作virtual environments来运行python,而是在努力避免混淆主要的python模块。

因此,我建议他们开始分离他们的关注点,并将其投影到单独的虚拟环境中,而不必担心安装模块。

另请参阅conda环境和其他替代方法以实现相同的目标

© www.soinside.com 2019 - 2024. All rights reserved.