私はrequestsとrequests_oauthlibを使用しようとしていますが、今は、requests_oauthlibのドキュメントで使用されている単純なTwitter検証資格情報の例を試し、基本が機能していることを確認しています。モジュールを取得するために「pipinstallrequestsrequests_oauthlib」を実行しました。ターミナルウィンドウでは「リクエストのインポート」は問題ありませんが、「requests_oauthlibのインポート」を試みると次のようになります。
>>> import requests_oauthlib
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/requests_oauthlib/__init__.py", line 1, in
<module>
from .oauth1_auth import OAuth1
File "/usr/lib/python2.7/site-packages/requests_oauthlib/oauth1_auth.py", line 10, in
<module>
from requests.utils import to_native_string
File "/usr/lib/python2.7/site-packages/requests/utils.py", line 23, in <module>
from . import __version__
ImportError: cannot import name __version__
Utils.pyの23行目は、実際には次のようになっています。
from . import __version__
私はFedoraでPython 2.7.5を使用しており、それを機能させるために何度も試みた後、現在この壁に頭をぶつけています。助けていただければ幸いです...
ルートディレクトリの__init__.py
を確認してください。 openpyxlは、.constrants.jsonファイルからこれらの情報を読み取ります。しかし、PyInstallerはどういうわけかそれを正しくすることができません。 __version__.py
ファイルを自分で作成し、__init__.py
に置き換えます。
もう1つの簡単な方法は、次のように__init__.py
を変更することです。
import json
import os
# Modified to make it work in PyInstaller
#try:
# here = os.path.abspath(os.path.dirname(__file__))
# src_file = os.path.join(here, ".constants.json")
# with open(src_file) as src:
# constants = json.load(src)
# __author__ = constants['__author__']
# __author_email__ = constants["__author_email__"]
# __license__ = constants["__license__"]
# __maintainer_email__ = constants["__maintainer_email__"]
# __url__ = constants["__url__"]
# __version__ = constants["__version__"]
#except IOError:
# # packaged
# pass
__author__ = 'See AUTHORS'
__author_email__ = '[email protected]'
__license__ = 'MIT/Expat'
__maintainer_email__ = '[email protected]'
__url__ = 'http://openpyxl.readthedocs.org'
__version__ = '2.4.0-a1'
"""Imports for the openpyxl package."""
from openpyxl.compat.numbers import NUMPY, PANDAS
from openpyxl.xml import LXML
from openpyxl.workbook import Workbook
from openpyxl.reader.Excel import load_workbook
print('You are using embedded openpyxl... 2.4.0-a1 ...')
プロジェクトでopenpyxlを使用しました。py2exeでexeを作成すると、コンパイルは問題ありませんが、コンパイルされたexeを実行すると、同じ問題が発生しました。
ImportError:名前をインポートできません__version __
Openpyxlペースフォルダのルートにあるinit。pyを変更してみてください。constants.jsonファイルからversionを読み取らず、__ version__ = '2.4.1'。私はこの方法で解決しました。