实现方法
方法一:使用sys模块:您可以轻松地使用sys
模块来完成您想要做的事情。要导入lib
包,您可以使用以下两个代码之一:
import sys
sys.path.append('<PATH_TO_LIB_FOLDER>')
from lib.abcd import lib
或者
import sys
sys.path.insert(0, '<PATH_TO_LIB_FOLDER>')
方法二:使用os模块:另一种方法是使用os
模块。以下是一个示例代码,它使用os
模块通过调用os.path.join
方法导入lib
模块:
import os
path = os.path.join("<PATH>/lib/abcd", "lib")
from lib.abcd import lib
方法三:将模块添加到PYTHONPATH中:在大多数情况下,这不是最佳方法,但如果您不想继续使用sys
或os
模块来导入lib
,这是理想的。您只需要在bash终端中键入以下内容:
export PYTHONPATH=/path/to/your/lib:$PYTHONPATH
请注意,/path/to/your/lib
应替换为您实际的库路径。
export PYTHONPATH=<PATH_TO_LIB> python lib.py
最初的回答:
在Python shell中,您可以像这样导入它:
然后在您的Python shell中,您可以像这样导入它:
from lib.abcd import lib
方法 #4:结合sys和os模块(推荐):这是最有效的方法,将为您节省大量时间。此代码将os
和sys
模块组合在一起,如下所示:
最初的回答:要结合使用os
和sys
模块,可以使用以下代码:
import sys, os
sys.path.append(os.path.abspath(os.path.join('..', 'lib')))
然后,您可以轻松地导入您的模块,就像这样:
然后您可以像这样轻松导入您的模块:
from lib.abcd import lib
所有代码的工作原理:
以上所有代码都非常简单。除了"方法#3"之外,所有示例都会临时将您的模块添加到PYTHONPATH
中。"方法#3"则会永久将该模块添加到您的PYTHONPATH
中。
bin
。要实现它,你需要将父目录添加到sys.path
中。然后使用from lib.abcd import lib
进行导入。 - Srawlib
文件夹移动到bin
文件夹里。我明白你的项目结构。如果你想要坚持这个结构,我建议你添加一个用于启动的 bash 脚本。在脚本中,你可以使用PYTHONPATH=your_parent_directory python app.py
来启动你的应用程序。 - Srawlib
将被安装在 Python 解释器的 site-packages 中,然后你就完成了,你可以将app.py
放在标准的bin
目录中,它将始终独立于其所在位置工作。在开发过程中,你只需将根目录标记为源根目录,或者使用虚拟环境,在其中执行pip install -e
即可。 - Bakuriu