Python 无法解析导入时的路径
Python path when importing can't be resolved
我想这是一个相当普遍的问题,但我似乎无法导入我的 Python 模块。
这段代码 运行 在我家里的 Ubuntu 机器上绝对没问题,但在我工作的 Windows 机器上似乎不起作用。这让我相信它归结为 Python 与 *nix 系统相比在 Windows 上的工作方式不同,或者它处理模块的方式完全不同。
根据我的理解,模块应该根据 sys.path
加载,根据关于该问题的所有其他问题和我所做的阅读。
但是,我有一个像这样的简单项目:
DataStructures
├───.git
└───Python
├───DoublyLinkedListStarter.py
└───LinkedLists
├───Doubly.py
└──────LinkedNodes
└───DoublyLinkedNode.py
如果我导航到 Python/
和 运行 python .\DoublyLinkedListStart.py
,我会在 Doubly.py
:
中收到模块错误
Unable to import module LinkedNodes
代码非常基础,它是双向链表的 Python 实现,其中 DoublyLinkedListStarter
导入 Doubly
实现主体链表,并导入 DoublyLinkedNode
.
DoublyLinkedListStart.py
:
from LinkedList import Doubly
Doubly.py
:
from LinkedNodes import DoublyLinkedNode
同样,这在我的 Ubuntu 机器上运行得非常好,然后我将它推到 git 并在我的 windows 机器上拉下来。
试试这个:
from LinkedLists.LinkedNodes import DoublyLinkedNode
但这是 PYTHONPATH 系统变量的问题。另一种方法是将其添加到 PYTHONPATH 系统变量中:
set PYTHONPATH=%PYTHONPATH%;LinkedLists\LinkedNodes
python .\DoublyLinkedListStart.py
每次打开命令行时都必须这样做。
python 正在使用的路径可以从 python 脚本中使用 sys.path 访问,这是一个列表。这提供了另一种添加导入路径的方法:
import sys
sys.path.append("LinkedLists")
from LinkedNodes import DoublyLinkedNode
你有选择 ;)
我想这是一个相当普遍的问题,但我似乎无法导入我的 Python 模块。
这段代码 运行 在我家里的 Ubuntu 机器上绝对没问题,但在我工作的 Windows 机器上似乎不起作用。这让我相信它归结为 Python 与 *nix 系统相比在 Windows 上的工作方式不同,或者它处理模块的方式完全不同。
根据我的理解,模块应该根据 sys.path
加载,根据关于该问题的所有其他问题和我所做的阅读。
但是,我有一个像这样的简单项目:
DataStructures
├───.git
└───Python
├───DoublyLinkedListStarter.py
└───LinkedLists
├───Doubly.py
└──────LinkedNodes
└───DoublyLinkedNode.py
如果我导航到 Python/
和 运行 python .\DoublyLinkedListStart.py
,我会在 Doubly.py
:
Unable to import module LinkedNodes
代码非常基础,它是双向链表的 Python 实现,其中 DoublyLinkedListStarter
导入 Doubly
实现主体链表,并导入 DoublyLinkedNode
.
DoublyLinkedListStart.py
:
from LinkedList import Doubly
Doubly.py
:
from LinkedNodes import DoublyLinkedNode
同样,这在我的 Ubuntu 机器上运行得非常好,然后我将它推到 git 并在我的 windows 机器上拉下来。
试试这个:
from LinkedLists.LinkedNodes import DoublyLinkedNode
但这是 PYTHONPATH 系统变量的问题。另一种方法是将其添加到 PYTHONPATH 系统变量中:
set PYTHONPATH=%PYTHONPATH%;LinkedLists\LinkedNodes
python .\DoublyLinkedListStart.py
每次打开命令行时都必须这样做。
python 正在使用的路径可以从 python 脚本中使用 sys.path 访问,这是一个列表。这提供了另一种添加导入路径的方法:
import sys
sys.path.append("LinkedLists")
from LinkedNodes import DoublyLinkedNode
你有选择 ;)