web-dev-qa-db-ja.com

Python / pipの問題のため、certbot-autoを暗号化してみましょう

昨日はすべて順調でしたが、今日、certbot-autoを使用して同じコマンドを実行し、証明書を更新すると、次のようになります。

Upgrading certbot-auto 0.31.0 to 0.32.0...
Replacing certbot-auto...
Creating virtual environment...
Installing Python packages...    
/opt/eff.org/certbot/venv/bin/python: No module named pip.__main__; 'pip' is a package and cannot be directly executed
    Traceback (most recent call last):
      File "/tmp/tmp.eUWQ3w7cFV/pipstrap.py", line 177, in <module>
        sys.exit(main())
      File "/tmp/tmp.eUWQ3w7cFV/pipstrap.py", line 149, in main
        pip_version = StrictVersion(check_output([python, '-m', 'pip', '--version'])
      File "/usr/lib/python2.7/subprocess.py", line 544, in check_output
        raise CalledProcessError(retcode, cmd, output=output)
    subprocess.CalledProcessError: Command '['/opt/eff.org/certbot/venv/bin/python', '-m', 'pip', '--version']' returned non-zero exit status 1

私はDebian 7.9を使っています...同じ問題を持つ誰かがいますか?

8
Vallica

これは、Ubuntu 12.04およびDebian 7.5上の最新バージョン(> = 0.32.x)の問題です。

以前のブランチを複製するだけです(私は0.30.xを使用しました):

git clone --branch 0.30.x https://github.com/letsencrypt/letsencrypt

そして、letsencryptを実行するときにオプション--no-self-upgradeを使用します。私の場合:

./letsencrypt-auto certonly --no-self-upgrade --standalone -d mydomain.com

更新cronジョブに--no-self-upgradeを追加することを忘れないでください。

21
Felipe Alonso

これは、certbotパッケージのアップグレードプロセスで発生しているようです。

No module named pip.__main__; 'pip' is a package and cannot be directly executed

これは可能性がある Pythonの結果である可能性があります。実際のpipモジュールを見つける前に、インクルードパスでpipという名前のフォルダーが見つかります。デバッグするのは少し難しいですこれ(このコンテキストでPythonのインクルードパスが何であるかを調べて、不良フォルダーを検索する必要があります)が、certbot-autoパッケージを削除して再インストールすることで問題を修正できる場合があります。

(Debianのバージョンはかなり古いですが、certbotのバージョンはそうではなく、依存関係にvirtualenvを使用しているため、おそらくそうではありません。)

0

ポート80へのバインドの問題について、Apacheを再起動することを忘れないでください。IPv4またはIPv6にバインドできませんでした。

0
Marcelo Delage

Certbot-autoスクリプトに次の2つの変更を加えました。

最初の変更

pip_version = StrictVersion(check_output([python, '-m', 'pip', '--version'])

pip_version = StrictVersion(check_output(['pip', '--version'])

2回目の変更

command = [python, '-m', 'pip', 'install', '--no-index', '--no-deps', '-U']

command = ['pip', 'install', '--no-index', '--no-deps', '-U']
0
Techie