导入 Python 模块(从另一个路径)并作为默认值使用

Import Python module (from another path) and use as default

我想导入位于另一个路径的请求模块。 我想使用下面的代码。我还可以看到安装模块的请求目录有一堆其他文件。这有什么用

>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200

下面是/Requests 目录的一些内容。

adapters.py
adapters.pyc
api.py
__init__.py

......

下面的问题有一些很好的答案,但仍然让我感到困惑。

How to import a module given the full path?

不简单

import sys
sys.path.append('path\to\request_module')

解决了你的问题?

不,您不必包含 .py 文件。 Python 解释器查看 init.py 文件提到的路径。如果它在那里,代码应该可以正常工作。虽然对于 Python 3 init.py 文件也不是必需的。

正如我在你的目录列表中看到的那样 init.py 文件在那里。还要注意 init.pyc 文件在那里,它只是上面的缓存版本。

要查看解释器将引用的所有路径,请执行以下操作

import sys
sys.path 

您在这里使用的是

sys.path.append('/.../requests/')

不要在请求后使用额外的'/',这意味着它正在寻找请求文件夹中的请求目录并给你错误没有名为请求的模块。