gpt4 book ai didi

python - 为笔记本设置默认的 sys.path

转载 作者:太空狗 更新时间:2023-10-29 20:53:32 25 4
gpt4 key购买 nike

我的所有 .py 文件都在一个文件夹脚本中,我所有的 IPython 笔记本都在一个名为 Notebook 的文件夹中。

每个笔记本文件对脚本上的一个或多个文件有多个交叉依赖。

在每个笔记本顶部都有 sys.path.append 似乎很麻烦,我希望有一种方法可以添加默认查找路径,就像我们将 PYTHONPATH 添加到.bash_profile.

现在我执行以下操作:

import sys
sys.path.append("<path where DeriveFinalResultSet.py exists>)
import DeriveFinalResultSet as drs

我希望有一个可以执行以下操作的设置:

import DeriveFinalResultSet as drs

最佳答案

为了避免“隐藏配置”(即不在源代码控制/特定于机器中的配置)并像您描述的那样保持笔记本/代码分离,我做了如下操作:

code/
mymodule.py
mypackage/
__init__.py

notebooks/
mynb.ipynb
mynb2.ipynb
paths.py <--- below

paths.py 中:

import sys
import pathlib
sys.path.insert(0, str(pathlib.Path(__file__).parents[1] / 'code'))
# sys.path[0] = str(pathlib.Path(__file__).parents[1] / 'code')

然后在 mynb*.ipynb 中我可以愉快地做:

import paths
import mymodule, mypackage

后一种形式有效地替换了从空字符串(当前目录)到“代码”目录的导入路径,这可能更简洁一些。这使得导入对使用诸如 os.chdir() 之类的东西不敏感。

关于python - 为笔记本设置默认的 sys.path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38237284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com