sudo なしで python-dev をインストールするにはどうすればよいですか?

sudo なしで python-dev をインストールするにはどうすればよいですか?

私は自分のユーザーディレクトリ(sudo権限のないUbuntuサーバー上)にPythonパッケージ(scikits.learn)をインストールしようとしていますが、

error: Python.h: No such file or directory

python-dev がインストールされていないからかもしれません。しかし、sudo なしで python-dev をインストールするにはどうすればいいでしょうか? または、Python.h の他の簡単な方法はありますか?

答え1

ソースから独自の Python をコンパイルし、必要なモジュールをインストールできます。 python のドキュメント

答え2

これは少し降霊術的(古い投稿を復活させる)なのは承知していますが、私も同じ問題に直面し、答えを見つけることができなかったので、見つけた答えを共有します...

私の解決策:

私はUbuntu 16.04デスクトップで作業していますが、sudoはなく、Python 2.7のみがインストールされています。私はsudoなしでvirtualevnをセットアップすることができました(以下https://stackoverflow.com/questions/9348869/how-to-install-virtualenv-without-using-sudo)、jupyter をインストールしようとしたときに、「エラー: Python.h: そのようなファイルまたはディレクトリはありません」というエラーに遭遇しました。

私の解決策は、決してきれいではありませんが、少なくともvirtualenv と仮想 python フォルダは:

  1. テストディレクトリ (package_download) を作成する
  2. no-sudo@pc:~/package_download$ apt-getでlibpython2.7-devをダウンロード
  3. no-sudo@pc:~/package_download$ apt-getでpython-devをダウンロード
  4. sudo なしで pc:~/package_download$ dpkg -x libpython2.7-dev_2.7.12-1ubuntu0~16.04.1_amd64.deb を実行します。
  5. sudo なしで pc:~/package_download$ dpkg -x python-dev_2.7.11-1_amd64.deb を実行します。

これにより、ライブラリがダウンロードされ、package_download フォルダーに抽出されます。ここで面倒な部分になりますが、pip ではこの場所をターゲットにできなかったため、これらのファイルを、virtualenv フォルダー内の適切な場所に追加しました...

  1. 「~/package_download/usr/bin」を、仮想Pythonインストール フォルダー (virtualenv をインストールして環境を作成するために使用したフォルダー) に移動しますが、ファイルは置き換えないでください。
  2. 「~/package_download/usr/lib」を、仮想Pythonフォルダー。ここでは競合はありません。
  3. 「~/package_download/usr/include/python2.7」の内容をinclude/python2.7/フォルダにコピーします。ここでは競合は発生しません。これは実際には最も厄介な部分です。なぜなら、仮想Python(これはsudoを必要としません。なぜならsudoなしだからです。仮想Python)。
  4. フォルダ「~/package_download/usr/include/x86_64-linux-gnu」を include/python2.7/ フォルダにコピーします。ここではフォルダのコピーに問題はありません...

仮想環境を実行します:

  1. no-sudo@pc:~/running_virtualenv$ ソースbin/activate
  2. (running_virtualenv)no-sudo@pc:~/running_virtualenv$ pip install jupyter
  3. 楽しむ...

もしあなたがpython2.7 をインクルードしますシンボリックリンクである場合、virtualenv フォルダを仮想 python フォルダと間違えています。(この問題を発見してくれた @andrzej1_1 に感謝します)

関連情報