質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

解決済

Python3系のアップロード pip installをするとRunning pip as root will break packages and permissions.

mikeko0901
mikeko0901

総合スコア227

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

2回答

0グッド

1クリップ

20024閲覧

投稿2021/09/08 00:57

編集2021/09/08 01:33

さくらサーバーのPythonを3系にアップデートしています。
こちらのサイトを参考に、
一通りpython3.8のインストールが終わりました。
(シンボリックリンクの作成は躓いているのでまだです…)

pip install系の操作をすると以下のようなエラーが出ます。
こちらはどのように対処すればよいのでしょうか。それとも、警告は出ているけれど無視してもよいレベルなのか…
教えていただけますと幸いです。

▼打ったコマンド

$ $HOME/local/python/bin/python3 -m pip install --upgrade pip setuptools

▼出た文言

equirement already satisfied: pip in ./local/python/lib/python3.8/site-packages (21.2.4) Requirement already satisfied: setuptools in ./local/python/lib/python3.8/site-packages (56.0.0) Collecting setuptools Downloading setuptools-58.0.2-py3-none-any.whl (816 kB) |????????????????????????????????| 816 kB 3.3 MB/s Installing collected packages: setuptools Attempting uninstall: setuptools Found existing installation: setuptools 56.0.0 Uninstalling setuptools-56.0.0: Successfully uninstalled setuptools-56.0.0 Successfully installed setuptools-58.0.2 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

Successfullyと出ているので、install自体はうまくいっているのでしょうか・・?


それ以前に行ったこと
make install まで行いました。

※ユーザーフォルダ直下にwork>python3フォルダの作成 ※ユーザーフォルダ直下にlocal>pythonフォルダの作成 $ mkdir -p ~/work/python3 $ mkdir -p local $ mkdir -p python ※workフォルダで $ wget --no-check-certificate https://www.python.org/ftp/python/3.8.10/Python-3.8.10.tgz $ tar zxf Python-3.8.10.tgz $ cd ./Python-3.8.10 $ ./configure --prefix=/home/yadorigi/local/python $ make $ make install

以下、バージョンなどを確認しました。

$ $HOME/local/python/bin/python3 -V Python 3.8.10 $ $HOME/local/python/bin/pip -V pip 21.2.4 from /home/yadorigi/local/python/lib/python3.8/site-packages/pip (python 3.8) $ $HOME/local/python/bin/pip3 -V pip 21.2.4 from /home/yadorigi/local/python/lib/python3.8/site-packages/pip (python 3.8)

■ユーザーフォルダ/local/pythonの中身
イメージ説明

■ユーザーフォルダ/local/python/binの中身
イメージ説明


ユーザー:rootアカウント(というのでしょうか、さくらサーバーを申し込んだアカウント)で実行しています。
コマンドはユーザーフォルダ直下(/Home/ユーザーフォルダ の直下)で打っています。

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

quickquip

2021/09/08 01:12 編集

> 一通りpython3.8のインストールが終わりました。 とだけ書いて「自分がやったことを書く」作業を省かれると困ります。 いま質問者さんには「困っている」ことがあって、想定されていない何かおかしなことをやっているんじゃないだろうかと心配して質問しているのですよね。 他の人の概ねうまくいったであろう手順を示されて、こんな感じでやりましたとだけ言われて、何をどうやって指摘したらよいのでしょうか? エラーを読んで自分がやったことを推測してください、というゲームかクイズをしかけているんでしょうか? と思ってしまいます。 とりあえず 今のカレントディレクトリはどこか、作業しているユーザは誰か、あたりを追記するといいと思います。 あと echo $HOME/local/python/bin/python3 を実行してみて「自分がインストールしたつもりのpython3」を指しているか確認していますか。
quickquip

2021/09/08 01:21

> pip install系の操作をすると以下のようなエラーが出ます。 と > ▼打ったコマンド にギャップがある(参考にしたというサイトを参考にしている様子がない)んですが、これはどういうつもりでしたか?
mikeko0901

2021/09/08 01:23

申し訳ございません、内容を追記しました。
mikeko0901

2021/09/08 01:29 編集

私はbashを使用しているのですが、参考にしたサイトがcshスクリプトとご指摘を別質問でいただきまして、 make installまで同じなので、make installの後は https://qiita.com/c-yan/items/bff6f857f419756d6512 を参考にしました。 (が、シンボリックリンクの作成はまだやり切れていません…) 打ったコマンドは、開発環境の方でうまくできました https://self-development.info/%E3%80%90python%E6%9A%97%E5%8F%B7%E5%8C%96%E3%80%91pycrypto%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%8Fpycryptodome%E3%82%92%E4%BD%BF%E3%81%86/ を参考にしました。

回答2

2

ベストアンサー

その警告は無視していいです。インストール自体もうまくいっているので心配しなくていいです。


私もさくらのレンタルサーバにPython3をインストールして使っています。
その警告は最近になって出るようになりました。

さくらのレンタルサーバのユーザは、全員一般ユーザです。rootではありません。rootになることもできません。
一般ユーザは自分のホームディレクトリ以下に対する権限しか持ちません。だからこそ苦労をして、自分のホームディレクトリ以下にPython3をインストールして使っています。
質問文中に、

ユーザー:rootアカウント(というのでしょうか、さくらサーバーを申し込んだアカウント)

と書かれていますが、間違いです。
そもそもrootではないので関係ない、というのがその警告を無視してよい理由です。

仮想環境の使用の推奨と捉えれば、一般ユーザであっても関係する警告にはなりますが、それはroot云々とは別の話です。私は仮想環境を使うか使わないかは、自分でその都度判断して決めているので、その意味でもその警告は無視しています。
どうしても気になるようなら、常に仮想環境を作って使うようにすれば、その警告は出ません。


rootではないのになぜ警告が出るのかというと、pip の警告を出す部分の実装の問題です。
ごく大雑把にいうと、インストールの際に、①仮想環境を使っている、②プラットフォームがWindowsである、③プラットフォームがmacOSかLinuxでかつrootではない、以上3つのいずれにも当てはまらない場合は警告が出ます。
https://github.com/pypa/pip/blob/df98167fe54b99f61dd000ae619fd4b1c634c039/src/pip/_internal/cli/req_command.py#L157

さくらのレンタルサーバはプラットフォームがFreeBSDなので、仮想環境でインストールしない限りは、rootであろうとrootでなかろうと警告が出ます。なぜこういう実装になっているのかはわかりません。
なお、この警告が出るようになったのは今年の4月24日リリースのpip 21.1以降でした。
https://pip.pypa.io/en/stable/news/#v21-1

投稿2021/09/08 12:41

編集2021/09/09 14:40
etherbeg

総合スコア1190

attakei, mikeko0901👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

mikeko0901

2021/09/09 16:00

ご回答いただきまして、ありがとうございます。 さくらレンタルサーバーのアカウントはrootではないのですね。大変失礼しました。 確かにホームディレクトリ以下にpython3をインストールしました。 私もびくびくしながらpipしていたので少し安心しました。ありがとうございます。

0

  • こちらはどのように対処すればよいのでしょうか。それとも、警告は出ているけれど無視してもよいレベルなのか教えていただけますと幸いです。

動くか動かないかといえば、動かないことはないでしょう。

警告を無視する前に、【完全初心者向け】Linuxのrootユーザとは?を読んでください。

そして、普段使う一般ユーザを1人つくった場合には、今インストールしたPythonをいったん消去して、一般ユーザ権限でやり直すことをお勧めします。

一般ユーザを作らずにrootでログインし続けるなら、幸運を祈ります。そういう人たちには大抵の人が持っていないような、とてつもない幸運が必要ですからね。

投稿2021/09/08 06:34

ppaul

総合スコア24620

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

mikeko0901

2021/09/09 15:58

回答いただきまして、ありがとうございます。 リンク先も拝見しました。 rootではSSHに接続せず、ユーザーアカウントを使用するようにしようと思います。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。