3
votes

I'm trying to use this projet https://github.com/O365/python-o365 that shows a simple way to send mails using Office 365 app key and credentials, because i have a O365 Business Account.

But, i'm having "ImportError: cannot import name 'Account' from 'O365' "the error before installing:

> py Y:\RO_RFID_Srv\email.py Traceback (most recent call last):   File
> "Y:\RO_RFID_Srv\email.py", line 7, in <module>
>     from O365 import Account   File "C:\Python\Python37\lib\site-packages\O365\__init__.py", line 4, in
> <module>
>     from .__version__ import __version__   File "C:\Python\Python37\lib\site-packages\O365\__version__.py", line 1, in
> <module>
>     from pkg_resources import get_distribution, DistributionNotFound   File "C:\Python\Python37\lib\site-packages\pkg_resources\__init__.py",
> line 36, in <module>
>     import email.parser   File "Y:\RO_RFID_Srv\email.py", line 7, in <module>
>     from O365 import Account ImportError: cannot import name 'Account' from 'O365' (C:\Python\Python37\lib\site-packages\O365\__init__.py)

Below my code:

from O365 import Account


account = Account(credentials=('XXXXX', 'YYYYY')) 
account.authenticate(scopes=['files.read', 'user.read', 'offline_access'])

Trying check some information:

py -3.7 -m pip install --upgrade O365
Requirement already up-to-date: O365 in c:\python\python37\lib\site-packages (1.1.3)
Requirement already satisfied, skipping upgrade: pytz>=2018.5 in c:\python\python37\lib\site-packages (from O365) (2018.9)
Requirement already satisfied, skipping upgrade: python-dateutil>=2.7 in c:\python\python37\lib\site-packages (from O365) (2.8.0)
Requirement already satisfied, skipping upgrade: requests>=2.0.0 in c:\python\python37\lib\site-packages (from O365) (2.21.0)
Requirement already satisfied, skipping upgrade: tzlocal>=1.5.0 in c:\python\python37\lib\site-packages (from O365) (1.5.1)
Requirement already satisfied, skipping upgrade: beautifulsoup4>=4.0.0 in c:\python\python37\lib\site-packages (from O365) (4.7.1)
Requirement already satisfied, skipping upgrade: stringcase>=1.2.0 in c:\python\python37\lib\site-packages (from O365) (1.2.0)
Requirement already satisfied, skipping upgrade: requests-oauthlib>=1.2.0 in c:\python\python37\lib\site-packages (from O365) (1.2.0)
Requirement already satisfied, skipping upgrade: six>=1.5 in c:\python\python37\lib\site-packages (from python-dateutil>=2.7->O365) (1.12.0)
Requirement already satisfied, skipping upgrade: urllib3<1.25,>=1.21.1 in c:\python\python37\lib\site-packages (from requests>=2.0.0->O365) (1.24.1)
Requirement already satisfied, skipping upgrade: idna<2.9,>=2.5 in c:\python\python37\lib\site-packages (from requests>=2.0.0->O365) (2.8)
Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in c:\python\python37\lib\site-packages (from requests>=2.0.0->O365) (2018.11.29)
Requirement already satisfied, skipping upgrade: chardet<3.1.0,>=3.0.2 in c:\python\python37\lib\site-packages (from requests>=2.0.0->O365) (3.0.4)
Requirement already satisfied, skipping upgrade: soupsieve>=1.2 in c:\python\python37\lib\site-packages (from beautifulsoup4>=4.0.0->O365) (1.8)
Requirement already satisfied, skipping upgrade: oauthlib>=3.0.0 in c:\python\python37\lib\site-packages (from requests-oauthlib>=1.2.0->O365) (3.0.1)

py -3.7 -m pip show O365
Name: O365
Version: 1.1.3
Summary: Microsoft Graph and Office 365 API made easy
Home-page: https://github.com/O365/python-o365
Author: Janscas, Roycem90, Narcolapser
Author-email: [email protected]
License: Apache License 2.0
Location: c:\python\python37\lib\site-packages
Requires: tzlocal, beautifulsoup4, pytz, python-dateutil, requests, stringcase, requests-oauthlib
Required-by:
1

1 Answers

0
votes

It might be too late but I am starting by importing O365 and then from O365 import Account and it works for me:

# API O365
import O365
from O365 import Account

credentials = (o365credid, o365credpwd)
account = Account(credentials)

Let me know. Renaud