pycurlのインストール時に「curl-configを実行できませんでした:[Errno 2]そのようなファイルまたはディレクトリはありません」


185

私はpycurlをインストールしようとしています:

sudo pip install pycurl

ダウンロードは問題ありませんが、setup.pyを実行すると、次のトレースバックが表示されます。

Downloading/unpacking pycurl
  Running setup.py egg_info for package pycurl
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
      File "/tmp/pip-build-root/pycurl/setup.py", line 563, in <module>
        ext = get_extension()
      File "/tmp/pip-build-root/pycurl/setup.py", line 368, in get_extension
        ext_config = ExtensionConfiguration()
      File "/tmp/pip-build-root/pycurl/setup.py", line 65, in __init__
        self.configure()
      File "/tmp/pip-build-root/pycurl/setup.py", line 100, in configure_unix
        raise ConfigurationError(msg)
    __main__.ConfigurationError: Could not run curl-config: [Errno 2] No such file or directory
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 16, in <module>

  File "/tmp/pip-build-root/pycurl/setup.py", line 563, in <module>

    ext = get_extension()

  File "/tmp/pip-build-root/pycurl/setup.py", line 368, in get_extension

    ext_config = ExtensionConfiguration()

  File "/tmp/pip-build-root/pycurl/setup.py", line 65, in __init__

    self.configure()

  File "/tmp/pip-build-root/pycurl/setup.py", line 100, in configure_unix

    raise ConfigurationError(msg)

__main__.ConfigurationError: Could not run curl-config: [Errno 2] No such file or directory

これが発生している理由と回避方法


Ubuntuを使用していますか?
Padraic Cunningham、2014

私は、Linuxのターミナルへのssh接続でOSX上だ
user3688241

どこにpycurlをインストールしようとしていますか?
Padraic Cunningham

回答:


463

Debianでは、これを修正するために次のパッケージが必要でした

sudo apt install libcurl4-openssl-dev libssl-dev

4
Ubuntu 12.04(x64)とPython3.4がインストールされているときの問題が修正されました
Ilia Shakitko

23
ありがとう、私はlibssl-devあなたのパッケージに加えてパッケージを必要としていました。奇妙なことにpip、システムのパッケージ管理から切り離されていますが、非常に一般的なLinuxディストリビューションでは、どのパッケージが不足しているのかについてのヒントもありません。
Mitja、

1
Debian 9でlibcurl4-openssl-devとlibssl-devの両方が必要です:sudo apt-get install libcurl4-openssl-dev libssl-dev
david euler

12
Ubuntu 18.04 LTSで動作します。
ジョンマクギー

3
@JohnMcGehee、そう、WSL上のUbuntu 18.04.1 LTSでも動作します。
甥の

70

同様にyumパッケージマネージャー

yum install libcurl-devel

を使用する場合はdnf

dnf install libcurl-devel

私の場合、python-develも欠落していたため、次の方法で問題が解決しました:yum install libcurl-devel python-devel
sokhaty

19

私の場合、これで問題が解決しました:

sudo apt-get install libssl-dev libcurl4-openssl-dev python-dev

ここで説明したように


python-devパッケージをありがとう!それなしでこのエラーが発生しました:src / pycurl.h:4:20:致命的なエラー:Python.h:そのようなファイルまたはディレクトリはありません
Skullone

12

アルパインLinuxでは次のようにする必要があります。

apk add curl-dev python3-dev libressl-dev

apk add curl-devDocker python2.7-alpineイメージで私には十分でした、ありがとう!
ItayB

2

UbuntuでShinken 2.0.3を起動しようとしたときに同じ問題が発生しました。結局、私は完全にアンインストールしてから、Shinkenをで再インストールしましたpip -v。それが片付けられたとき、それは言及しました:

Warning: missing python-pycurl lib, you MUST install it before launch the shinken daemons

でそれをインストールしapt-get、すべてのブローカーが期待どおりに起動しました:-)




0

私の場合、同じエラーメッセージが表示され続けました。私はfedoraを使用しています。私はそれを解決しました:

sudo dnf install pycurl

これにより、動作させるために必要なすべてがインストールされました。


0

私はMacでこの問題を抱えていましたが、それは、opensslパッケージがそれを必要とするものの古いバージョンであることと関係がありましたpycurlpycurl私の理解では、opensslではなく他のsslライブラリを使用できます。問題を解決する可能性が非常に高いため、使用しているsslライブラリを確認して更新します。

私はこれを修正しました:

  • ランニング brew upgrade
  • 最新のhttp://pycurl.io/pycurl-x.y.z.tar.gzから ダウンロード
  • 上記のパッケージを抽出し、ディレクトリをそれに変更します
  • python setup.py --with-openssl installopensslは、私がインストールしたライブラリーとして実行されました。あなたがsslライブラリの場合は、どちらgnutlsnssを使用する--with-gnutls必要があり--with-nssます。あなたはそれらのgithubリポジトリでより多くのインストール情報を見つけることができるでしょう。


0

nodejsを使用している場合、(執筆時点で)libssl 1.0。*に依存していることに注意してください。そのため、代替SSLライブラリをインストールすると、nodejsのインストールが失敗します。

異なるSSLライブラリをインストールする別の解決策は、この回答に投稿されているものです:https : //stackoverflow.com/a/59927568/13564342代わりにlibcurl4-gnutls-devをインストールしてください

sudo apt install libcurl4-gnutls-dev
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.