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

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

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

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

Python

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

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

Q&A

解決済

1回答

856閲覧

pythonをバージョンアップできない

user0930

総合スコア7

Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

Python

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

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

0グッド

0クリップ

投稿2023/08/10 13:50

編集2023/08/16 20:54

実現したいこと

Djangoで作成したアプリをHerokuにアップしようとしているんですが、runtime.txtの関係で、pyhonのバージョンをpython-3.9.16​以上に上げないといけなく、pyenvからPython3.11.4をインストールしたいです。

参考:pyenvから3.11をインストール

前提

pythonをインストールする、pyenvは既にインストールしています。

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

ec2-user:~/environment/mysite (master) $ pyenv install 3.11.4 Downloading Python-3.11.4.tar.xz... -> https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tar.xz Installing Python-3.11.4... Traceback (most recent call last): File "<string>", line 1, in <module> File "/home/ec2-user/.pyenv/versions/3.11.4/lib/python3.11/ssl.py", line 100, in <module> import _ssl # if we can't import it, let the error propagate ^^^^^^^^^^^ ModuleNotFoundError: No module named '_ssl' ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib? Please consult to the Wiki page to fix the problem. https://github.com/pyenv/pyenv/wiki/Common-build-problems BUILD FAILED (Amazon Linux 2 using python-build 2.3.23-4-g4c5eac68) Inspect or clean up the working tree at /tmp/python-build.20230810134240.9620 Results logged to /tmp/python-build.20230810134240.9620.log Last 10 log lines: LD_LIBRARY_PATH=/tmp/python-build.20230810134240.9620/Python-3.11.4 ./python -E -m ensurepip \ $ensurepip --root=/ ; \ fi Looking in links: /tmp/tmp8o8sh66v Processing /tmp/tmp8o8sh66v/setuptools-65.5.0-py3-none-any.whl Processing /tmp/tmp8o8sh66v/pip-23.1.2-py3-none-any.whl Installing collected packages: setuptools, pip WARNING: The scripts pip3 and pip3.11 are installed in '/home/ec2-user/.pyenv/versions/3.11.4/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Successfully installed pip-23.1.2 setuptools-65.5.0

試したこと

調べたところ、pyenv は、Python のバージョンを簡単に管理するためのツールからyum install gcc make patch zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl11-devel tk-devel libffi-devel xz-develを実行してからpythonのインストールを行わないと失敗すると知ったので、上記のコマンドを実行後、再度インストールを行ったのですが、同様のエラーが発生しました。

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

pyenv: pyenv 2.3.23-4-g4c5eac68
python: Python 3.7.16

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

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

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

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

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

quickquip

2023/08/10 15:41

Anacondaを入れてませんか? コンパイラや共有ライブラリに、Anacondaのものが使われていませんか。
quickquip

2023/08/10 15:44

今質問に載っているエラーメッセージはHerokuと関係ありますか?
user0930

2023/08/10 15:51

Herokuとは関係ありません。 どうしてPythonをアップデートしようとしたかを明記する必要があるかなと思い、herokuについて触れさせていただきました。 Anacondaは初めて聞いたのですが、共有ライブラリに使われているかはまだ、分かりません。
nekozukibird
guest

回答1

0

ベストアンサー

素のAmazon Linux 2インスタンスで

plain

1sudo yum install gcc make patch zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel git 2git clone https://github.com/pyenv/pyenv.git ~/.pyenv 3echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc 4echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc 5echo 'eval "$(pyenv init -)"' >> ~/.bashrc 6source ~/.bashrc 7pyenv install 3.11.4

で同じエラーが再現できました。

https://github.com/pyenv/pyenv/issues/2210#issuecomment-1550018532
を参考に

sudo yum swap openssl-devel openssl11-devel

するとコンパイルは通りました。(これによる他への影響は不明です)

投稿2023/08/10 16:19

quickquip

総合スコア11003

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

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

user0930

2023/08/10 18:07 編集

上記のコマンド後にインストールを試みたのですが、エラーが起きました。 ec2-user:~/environment/mysite (master) $ pyenv install 3.11.0 /home/ec2-user/.pyenv/plugins/python-build/bin/python-build: line 2148: cannot create temp file for here-document: No space left on device /home/ec2-user/.pyenv/plugins/python-build/bin/python-build: line 236: pushd: write error: No space left on device Downloading Python-3.11.0.tar.xz... -> https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tar.xz error: failed to download Python-3.11.0.tar.xz BUILD FAILED (Amazon Linux 2 using python-build 2.3.23-4-g4c5eac68) Inspect or clean up the working tree at /tmp/python-build.20230810180521.7735
quickquip

2023/08/10 23:45

メッセージ読んでますか? No space left on device ならディスク不足ではないんですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.53%

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

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

質問する

関連した質問