[我看到我的一些同事使用以下变通办法来导入外部python模块(不安装它们)。
import sys
sys.path.append(<PATH_TO_MODULE>)
import <module>
sys.path.remove(<PATH_TO_MODULE>)
我认为这不是一个好方法,但是“有效”。我应该建议他们代替以下代码做什么,为什么?
谢谢!
另一种方法是将模块的路径附加到PYTHONPATH
:
export PYTHONPATH="${PYTHONPATH}:/path/to/your/module/"
通过这种方式,您的源代码中不会被硬编码,只要发生更改,您只需将新路径导出到PYTHONPATH
。
听起来您的同事似乎并没有制作virtual environments来运行python,而是在努力避免混淆主要的python模块。
因此,我建议他们开始分离他们的关注点,并将其投影到单独的虚拟环境中,而不必担心安装模块。
另请参阅conda环境和其他替代方法以实现相同的目标