[从Pycharm调用python脚本时,我的脚本成功运行。但是,当我通过终端调用相同的脚本时,出现导入错误:
Macs-MacBook:src macuser$ python ./run_events.py
Traceback (most recent call last):
File "./run_events.py", line 3, in <module>
from functions import return_ga_data
File "/Users/macuser/PycharmProjects/ops-google-extract/src/functions.py", line 2, in <module>
import connect
File "/Users/macuser/PycharmProjects/ops-google-extract/src/connect.py", line 4, in <module>
from oauth2client.service_account import ServiceAccountCredentials
ImportError: cannot import name 'ServiceAccountCredentials'
我没有使用环境。我也在用python 3.7。
我所有的python脚本都在同一目录中。我的终端的密码是同一目录。
已尝试:尝试使用python3 ./run_events.py
调用脚本,但得到的结果相同。
根据有关路径的SO帖子,我将其添加到connect.py的顶部:
import sys
sys.path.append('/Users/macuser/PycharmProjects/ops-google-extract/src/functions.py')
我仍然得到相同的结果。
为什么使用./run_events.py
时,我可以从IDE内部运行文件而不会通过终端运行,而不会通过终端运行?]
[从Pycharm调用python脚本时,我的脚本成功运行。但是,当我通过终端调用相同的脚本时,出现导入错误:Macs-MacBook:src macuser $ python ./run_events ....
您还安装了python 2吗?在终端中输入python --version,看看会得到什么?我的猜测是,Pycharm可能配置为使用python 3,而终端中的默认python是python 2,因此您的python 2缺少为python 3安装的模块。因此,当您在终端中执行脚本时,它将使用python 2。如果是这种情况,您可以尝试,