🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python

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

Q&A

1回答

1161閲覧

Xserverでpythonファイルを実行したい

mikomiko

総合スコア0

Python

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

0グッド

0クリップ

投稿2021/02/08 23:09

編集2021/02/09 00:45

前提・実現したいこと

Xserverでpythonファイルを実行させること。

下記の手順で行い、pythonをインストールしようとしています。
Linuxbrewのインストール
Linuxbrewのパス設定
Pythonのインストール

発生している問題・エラーメッセージ

Linuxbrewのインストール時にエラーが発生します。
エラー内容
Error: Please update your system curl.
Minimum required version: 7.41.0
Your curl version: 7.29.0
Your curl executable: /usr/bin/curl
Error: Please update your system Git.
Minimum required version: 2.7.0
Your Git version: 1.8.3.1
Your Git executable: /usr/bin/git

curlとGitのバージョンが古いのでまずはバージョンアップをしました。
下記の手順で実行しました。

該当のソースコード

$ wget https://curl.haxx.se/download/curl-7.65.3.tar.gz #解凍 $ tar zxvf curl-7.65.3.tar.gz #移動 $ cd curl-7.65.3 #インストール前処理 $ ./configure --prefix=/home/[サーバID]/opt #コンパイル $ make #インストール $ make install

試したこと

curl -Vをしてもcurl 7.29.0が表示されるのでバージョンアップができていません。
インストールする場所が問題ありますか?

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2021/02/08 23:12

「Xサーバ」と書くと、別な意味があります。レンタルサーバの方を指すなら「エックスサーバー」あるいは「Xserver」と書いてください。
mikomiko

2021/02/09 00:45

ご指摘ありがとうございます。
guest

回答1

0

まずは、エックスサーバーにssh接続した端末(ターミナルなど)の画面で、$HOME/opt/bin/curl -Vを実行してみてください。$HOMEは、あなたのホームディレクトリ(/home/[サーバーID]など)に置換され、/home/[サーバーID]/opt/bin/curl -Vが実行されます。

これで、「curl 7.65.3 (以下略)」が表示されれば、インストールはうまくできてきます。

次に、echo $PATHとして、環境変数PATHの内容を表示してください。:で区切られたパスの集合が表示されます。先頭のパスから順にコマンドを検索します。

さきほどcurlを実行する際に、コマンド名の前に指定した$HOME/opt/bin(あるいは$HOMEを展開した後の/home/[サーバーID]/opt/bin)がPATHの中に含まれていますか。

  • PATHの中に含まれている場合

/usr/binよりも後にそれが書かれていることが、古いcurlが実行される原因です。

  • PATHの中に含まれていない場合

/usr/binからしかcurlを見つけられないことが、古いcurlが実行される原因です。

対策としては、/usr/binよりも前に、$HOME/opt/bin(あるいは$HOMEを展開した後の/home/[サーバーID]/opt/bin)が来るように、環境変数PATHを設定することです。

PATHの設定変更を、ホームディレクトリの.bashrcで行なっているのであれば、エックスサーバー側のエディターを使って、

export PATH=$HOME/opt/bin:$PATH

という行を追加(あるいは修正)してください。

投稿2021/02/09 01:13

Daregada

総合スコア11990

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mikomiko

2021/02/09 04:02

$ echo $PATHをした結果がこちらです。 /sbin:/usr/sbin:/bin:/usr/bin PATHの中に含まれていないです。 $ export PATH=$HOME/opt/bin:$PATH 記述 $ echo $PATHをした結果 /home/サーバID/opt/bin:/sbin:/usr/sbin:/bin:/usr/bin $ curl -V 記述 curl 7.65.3を確認することができました。 ありがとうございます。 2つ目のエラーを修正するためにgitをアップデートしなければならないと思いますが、 $ which git を記述すると下記が表示されます。 /usr/bin/which: no git in ("/home/サーバID/.linuxbrew/bin:/home/サーバID/.linuxbrew/sbin${PATH+:$PATH}";) gitの位置は/usr/bin/gitですが、 brewでgitをインストールしようとしてもLinuxbrewがインストールできていないのでコマンドが見つかりませんと表示されます。 git をアップデートする方法はありますか?
Daregada

2021/02/09 04:37

まずは、ホームディレクトリの.bashrcの内容(特に、PATHを設定している箇所)を確認してください。妙な状態になっていそうです。
mikomiko

2021/02/09 04:53 編集

Linuxbrewをインストールし、pythonをインストールするこの手順でないと xserverでpythonを使用することはできないのですか? 正常な状態をご存知でしたら参考にさせてください。
Daregada

2021/02/09 04:57 編集

linuxbrewを入れていない状態でPATHにlinuxbrew用のパスが書いてあるし、何より「以前のPATHの内容(/usr/binなど)」が失われていますよね。 それで、「.bashrcの内容を表示する方法」はおわかりでしょうか。方法がわからなかったらそう書いてください。
Daregada

2021/02/09 05:02

有料サポートではないので、あなたの疑問にすべて答えることはできませんよ。自分でGoogle検索などして調べ、わからなかった点を具体的にTeratailなどで質問してください。 リモートの(rootになれない制限付きの)サーバーで苦労する前に、自分のPCに仮想PCアプリ(VMware PlayerなりVirtual Boxなり)を入れ、そこで「完全に自由に使えるし、失敗しても自分以外困らない」環境を作って、実験されることをお薦めします。
mikomiko

2021/02/09 05:20

すみません。こちらでどの程度質問して良いか分からず、お手数をおかけしました。 こちらで最後にします。 .bashrcの内容を表示する方法はわかりません。 Virtual Boxは以前に設定し、使用していました。
Daregada

2021/02/09 06:33

質問文に引きずられてcurlの問題について書いてしまったが、そもそもエックスサーバーには最初からpython(2系も3系も)入っているのでは。 「ls /usr/bin/python*」で確認できます。
mikomiko

2021/02/10 21:01

おっしゃる通りです。 ただ、pipを使用できないため自分で準備する必要があるそうです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問