在文件夹中导入和保存python源文件

在文件夹中导入和保存python源文件,python,import,python-import,Python,Import,Python Import,我在理解python导入如何工作时遇到一些困难 我刚刚开始使用fork,我打算使用它,但我在理解pythonimport如何处理目录中的文件时遇到了困难 目录结构如下所示: fitbit/ __init__.py gather_keys_cli.py api.py exceptions.py utils.py 作为初步步骤,我需要运行收集密钥\u cli.py。它取决于api.py,而api.py又取决于exceptions.py 如果我尝试从pytho

我在理解python导入如何工作时遇到一些困难

我刚刚开始使用fork,我打算使用它,但我在理解python
import
如何处理目录中的文件时遇到了困难

目录结构如下所示:

fitbit/
    __init__.py
    gather_keys_cli.py
    api.py
    exceptions.py
    utils.py
作为初步步骤,我需要运行
收集密钥\u cli.py
。它取决于
api.py
,而api.py又取决于
exceptions.py

如果我尝试从python解释器运行它,一切都会按预期运行。如果我尝试从命令行运行它(如中所建议的),我会获得以下异常

$./fitbit/gather_keys_cli.py KEY SECRET 
Traceback (most recent call last):
  File "./fitbit/gather_keys_cli.py", line 34, in <module>
    from api import FitbitOauthClient
  File "/Users/mariosangiorgio/FitBitHacks/python-fitbit/fitbit/api.py", line 9, in <module>
from fitbit.exceptions import (BadResponse, DeleteError, HTTPBadRequest,
ImportError: No module named fitbit.exceptions
$。/fitbit/gather\u keys\u cli.py密钥机密
回溯(最近一次呼叫最后一次):
文件“/fitbit/gather_keys_cli.py”,第34行,在
从api导入FitbitOauthClient
文件“/Users/mariosangio/FitBitHacks/python-fitbit/fitbit/api.py”,第9行,在
从fitbit.exceptions导入(BadResponse、DeleteError、HTTPBadRequest、,
ImportError:没有名为fitbit.exceptions的模块
我的理解是,当我调用命令行时,基本路径被设置为包含它的文件夹。此时,脚本正确地导入oauth客户端,因为它使用api import FitbitOauthClient中的指令
,该指令不包含对fitbit目录的任何引用

相反,
api.py
使用此指令从fitbit.exceptions import(类列表)导入异常
。此指令包含对fitbit目录的引用,因此我得到了错误

我不熟悉python,所以我想了解解决这个问题的python方法是什么。
我有一种感觉,这显然是出了什么问题,我找到了一个解决办法,移动
gather\u keys\u cli.py
并将api导入更改为
import fitbit.api
。它可以工作,但我不确定这是否是解决我遇到的问题的正确方法。

我不确定这是否解决了您的问题,但您是否尝试了以下内容?在gather\u keys\u cli.py do:
from.import api.py
。在api.py do
from.import exceptions.py