我的项目有两个主文件夹:sourceCode
和lib
:Highlighted file tree here
我正在\sourceCode\mainFile.ipynb
中工作,想导入一个名为lib
的{{1}}驻留的库,该库有一个modifiedLibrary
文件。
当前,我正在为relative-importing库使用符号链接。符号链接位于__init__.py
中,并被称为\sourceCode
,内容如下:
sym_link
在项目中,库和符号链接具有相同的名称。
但是当我使用
导入python时../lib/modifiedLibrary/modifiedLibrary
我收到import modifiedLibrary
我了解到相同的代码可以在我目前无法访问的另一台设备上运行,而且我似乎也没有找到问题所在。
我通过以下方式成功地包含了所需的库:
ModuleNotFoundError: No module named 'modifiedLibrary'
所在的位置,但是我想知道当前符号链接的问题所在。
Windows 10 / Python 3.7.3 / Jupyter
Relevant Question: Interactive Python - solutions for relative imports
答案 0 :(得分:0)
我发现的另一种解决方案不是将工作目录临时更改为包括本地模块,而是在导入之前将设备上模块的位置添加到sys.path
上:
import sys
sys.path.append('C:/Users/user/myProject/../modifiedLibrary/')
import modifiedLibrary
它没有使用符号链接,但目前看来可以解决问题。当代码共享并在另一台设备上运行时,将是一个问题。