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

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

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

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Python

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

pip

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

Q&A

1回答

1602閲覧

CentOS6.10 / python2.7 の環境でcloud-initがエラーになる

lonoru

総合スコア18

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Python

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

pip

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

0グッド

0クリップ

投稿2020/03/24 11:38

CentOS 6.10にpython2.7をインストールし、続いてcloud-initをインストールしたのですが
バージョン確認(cloud-init -v)にてエラーとなってしまいました。
エラーログは以下の通りです。

[root@ip-xxx-xxx-xxx-xxx bin]# cloud-init -v Traceback (most recent call last): File "/usr/bin/cloud-init", line 43, in <module> from cloudinit import netinfo File "/usr/lib/python2.6/site-packages/cloudinit/netinfo.py", line 23, in <module> import cloudinit.util as util File "/usr/lib/python2.6/site-packages/cloudinit/util.py", line 59, in <module> from cloudinit import url_helper File "/usr/lib/python2.6/site-packages/cloudinit/url_helper.py", line 27, in <module> import requests File "/usr/lib/python2.6/site-packages/requests/__init__.py", line 53, in <module> from .packages.urllib3.contrib import pyopenssl File "/usr/lib/python2.6/site-packages/requests/packages/__init__.py", line 96, in load_module __import__(real_name) File "/usr/lib/python2.6/site-packages/urllib3/__init__.py", line 7, in <module> from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool, connection_from_url File "/usr/lib/python2.6/site-packages/urllib3/connectionpool.py", line 100 _blocking_errnos = {errno.EAGAIN, errno.EWOULDBLOCK} ^ SyntaxError: invalid syntax

エラーログにてpyhonが/usr/lib/python2.6〜となっているのでこれが原因ではと思っているのですが
これをあとからインストールした2.7に変更する方法が調べても見当たりませんでした。

試しに/usr/bin/pythonを/opt/rh/python27/root/usr/bin/pythonのシンボリックリンクに置き換えてみましたが
以下のエラーが発生し、もはやお手上げ状態です。

[root@ip-xxx-xxx-xxx-xxx bin]# cloud-init -v Traceback (most recent call last): File "/usr/bin/cloud-init", line 39, in <module> from cloudinit import patcher ImportError: No module named cloudinit

その他、pip等のバージョンは以下の通りです。

[root@ip-xxx-xxx-xxx-xxx bin]# pip -V pip 20.0.2 from /opt/rh/python27/root/usr/lib/python2.7/site-packages/pip (python 2.7) [root@ip-xxx-xxx-xxx-xxx bin]# which pip /opt/rh/python27/root/usr/bin/pip [root@ip-xxx-xxx-xxx-xxx bin]# python -V Python 2.7.17 [root@ip-xxx-xxx-xxx-xxx bin]# which python /opt/rh/python27/root/usr/bin/python [root@ip-xxx-xxx-xxx-xxx bin]# which cloud-init /usr/bin/cloud-init [root@ip-xxx-xxx-xxx-xxx bin]# cat /etc/redhat-release CentOS release 6.10 (Final)

上記事象について解決方法をご存知の方いらっしゃいましたら
ご教授のほどお願いいたします。

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

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

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

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

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

guest

回答1

0

python2.7が必要なのでしょうか。

CentOS6のyumはpython2.6を利用しているためそちらにも影響が出てしまう可能性があります。(yumが利用できなくなっているかも)

面倒なことを考えたくない場合はCentOS7を利用されることをお勧めします。

投稿2020/03/25 07:31

yukky1201

総合スコア2751

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

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

lonoru

2020/03/25 15:23

ご回答ありがとうございます。 私もそうしたいのは山々なのですが、現在構築しているサーバの要件としてCentOS6が必須となっているシステムのため変更できないのです・・・
yukky1201

2020/03/25 15:54

なるほどむずかしいですね python2.6(rpm版)を残しつつpython2.7(ソース版)をインストールする方法を記述しているサイトもあるので参考にしてみてはどうでしょうか。
lonoru

2020/03/26 04:27

ありがとうございます。 python2.7(ソース版)をビルドしてインストールするのも試してみたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問