新しいコンピュータをセットアップしてインストールしましたが、それを実行しようとすると、OfflineimapがPython3をサポートしていないため、一連のエラーが発生しますofflineimap
。pip install --user offlineimap
https://github.com/OfflineIMAP/offlineimap/issues/472
2.7と3をインストールしました。
amanda@host:~$ python --version
Python 2.7.15rc1
しかし、私でもOfflineimapを強制的に使用する方法がわかりません。
すべてhttps://stackoverflow.com/questions/10919569/install-a-module-using-pip-for-specific-python-versionPythonのバージョンを指定して削除して再インストールしようとしましたが、これはそれ自体の特別な方法で息を止めます。
amanda@host:~$ python2.7 ~/.local/bin/pip install --user offlineimap
Traceback (most recent call last):
File "/home/amanda/.local/bin/pip", line 7, in <module>
from pip._internal import main
ImportError: No module named pip._internal
完全なOfflineIMAPエラー:
OfflineIMAP 7.2.1
Licensed under the GNU GPL v2 or any later version (with an OpenSSL exception)
imaplib2 v2.57 (bundled), Python v3.6.5, OpenSSL 1.1.0g 2 Nov 2017
Account sync Example:
*** Processing account Example
Establishing connection to mail.example.info:993 (VelRemote)
ERROR: While attempting to sync account 'Example'
IMAP4 protocol error: program error: <class 'TypeError'> - cannot use a bytes pattern on a string-like object
*** Finished account 'Example' in 0:00
ERROR: Exceptions occurred during the run!
ERROR: While attempting to sync account 'Example'
IMAP4 protocol error: program error: <class 'TypeError'> - cannot use a bytes pattern on a string-like object
Traceback:
File "/home/amanda/.local/lib/python3.6/site-packages/offlineimap/accounts.py", line 283, in syncrunner
self.__sync()
File "/home/amanda/.local/lib/python3.6/site-packages/offlineimap/accounts.py", line 359, in __sync
remoterepos.getfolders()
File "/home/amanda/.local/lib/python3.6/site-packages/offlineimap/repository/IMAP.py", line 452, in getfolders
imapobj = self.imapserver.acquireconnection()
File "/home/amanda/.local/lib/python3.6/site-packages/offlineimap/imapserver.py", line 547, in acquireconnection
af=self.af,
File "/home/amanda/.local/lib/python3.6/site-packages/offlineimap/imaplibutil.py", line 194, in __init__
super(WrappedIMAP4_SSL, self).__init__(*args, **kwargs)
File "/home/amanda/.local/lib/python3.6/site-packages/offlineimap/bundled_imaplib2.py", line 2183, in __init__
IMAP4.__init__(self, host, port, debug, debug_file, identifier, timeout, debug_buf_lvl)
File "/home/amanda/.local/lib/python3.6/site-packages/offlineimap/bundled_imaplib2.py", line 400, in __init__
self.welcome = self._request_push(name='welcome', tag='continuation').get_response('IMAP4 protocol error: %s')[1]
File "/home/amanda/.local/lib/python3.6/site-packages/offlineimap/bundled_imaplib2.py", line 201, in get_response
raise typ(exc_fmt % str(val))
答え1
Python 3 OfflineimapのインストールはPython 2のインストールよりも優先されます。
Python 3バージョンをアンインストールするには、次の手順に従ってください。
sudo rm -rf /home/amanda/.local/lib/python3.6/site-packages/offlineimap*
その後、Python 2バージョンを入手できることを願っています。
既知の問題
使用中のエラーはpip
Debian / Ubuntuで既知の問題です。
sudo apt-get install python-pip
または
sudo easy_install pip
OPでも指摘したように、Python 3オフラインマップパッケージを削除したら、代わりにapt
次のようにpip
Python 2バージョンをインストールする必要があります。
sudo apt install offlineimap
答え2
掃除するpip*
$ python3 -m pip uninstall pip
$ python -m pip uninstall pip
削除する必要があります~/.local/bin/pip
。
ローカルに再インストールpip
:
$ curl -LO https://bootstrap.pypa.io/get-pip.py
$ python get-pip.py --user
パッケージをインストールします。
$ python2.7 ~/.local/bin/pip install --user offlineimap