【发布时间】:2019-10-25 01:17:30
【问题描述】:
PEP8 规定您将导入放在代码的顶部,这允许 读者可以在一个空间中查看您正在导入的内容。
但是,如果您有函数的本地存储库以便导入它们,则必须首先更改当前目录。
如果您尝试更改目录,则会违反 PEP8,因为您的导入并非全部在一个地方
import sys
import pandas as pd
sys.path.insert(0, r'local\path')
from local_functions import function_1
我明白“愚蠢的一致性是小鬼怪”,如果我必须处理违反 PEP8 的行为,那也没关系。
我只是想有一个实际的解决方案,因为很多人必须编写函数并导入它们。
有没有办法导入不会违反 PEP8 的本地存储函数?
编辑: 如此处所述: https://stackoverflow.com/a/53832780/9936329
# noinspection PyUnresolvedReferences
from local_functions import function_1 # noqa: E402
会注意到您故意破坏 PEP8 并且也不会检查未解析的引用。
【问题讨论】:
-
为什么不制作一个包并使用
pip在本地安装它?这样您就不必切换paths或类似的东西。 -
这会影响生产吗?如果是这样,我认为这不是一个好习惯。
-
@Nishant 您会推荐什么作为最佳做法?
-
你一开始就不应该这样做。最简单的解决方法是使用
PYTHONPATH=. python my_program.py调用您的脚本或制作并安装本地包。
标签: python pep8 zen-of-python