Сценарий Python3 ломается с ошибкой импорта, REPL работает нормально

У меня есть небольшой скрипт на Python для получения токена oauth2 с сервера:

#!/usr/bin/python3

import requests
from requests.auth import HTTPBasicAuth

payload = {
        'grant_type': 'password',
        'username': 'username',
        'password': 'Somepassword',
        'scope': 'some',
        }

r = requests.post('https://example.com/oauth2/access_token',
        data=payload,
        params={'realm': '/services'},
        auth=HTTPBasicAuth('credential_name', 'credential_secret'))

print(r.json())

вызывая это на моей машине Ubuntu 16.04 с python3 token.py скину исключение:

user on ~/Documents -> python3 token.py  
Traceback (most recent call last):
  File "token.py", line 3, in <module>
    import requests
  File "/usr/local/lib/python3.5/dist-packages/requests/__init__.py", line 48, in <module>
    import urllib3
  File "/usr/local/lib/python3.5/dist-packages/urllib3/__init__.py", line 8, in <module>
    from .connectionpool import (
  File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 3, in <module>
    import logging
  File "/usr/lib/python3.5/logging/__init__.py", line 26, in <module>
    import sys, os, time, io, traceback, warnings, weakref, collections
  File "/usr/lib/python3.5/traceback.py", line 5, in <module>
    import linecache
  File "/usr/lib/python3.5/linecache.py", line 11, in <module>
    import tokenize
  File "/usr/lib/python3.5/tokenize.py", line 34, in <module>
    from token import *
  File "/home/gkneitschel/Documents/token.py", line 4, in <module>
    from requests.auth import HTTPBasicAuth
  File "/usr/local/lib/python3.5/dist-packages/requests/auth.py", line 14, in <module>
    import threading
  File "/usr/lib/python3.5/threading.py", line 7, in <module>
    from traceback import format_exc as _format_exc
ImportError: cannot import name 'format_exc'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3.5/queue.py", line 4, in <module>
    import threading
  File "/usr/lib/python3.5/threading.py", line 7, in <module>
    from traceback import format_exc as _format_exc
ImportError: cannot import name 'format_exc'

Однако, если я запускаю эту строку построчно в REPL, она работает нормально.

Если я просто бегу from traceback import format_exc as _format_exc, это также прервется в REPL.

ОС: Ubuntu 16.04 4.8.0-54-generic

Python: Python 3.5.2

Запросы: запросы (2.17.3)

0 ответов

Другие вопросы по тегам