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

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

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

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Q&A

解決済

2回答

1244閲覧

(続きpage3)Python3でパッケージをインストールしてもimportできないでエラーになる

One_of_Arthur

総合スコア82

CentOS

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

0グッド

0クリップ

投稿2023/07/26 10:19

実現したいこと

Python3でモジュールをインポートしたい

前提

前スレッド
https://teratail.com/questions/irgq73vifgeyue
の続きです。
また最大文字数を超えて追記できなくなったので、新しくスレッドを立てました。

試したこと

追記 2023.07.26 19:05

とりあえず、Python3.7のインストール前にスナップショットで遡って、アドバイスを元に再度インストールからやり直しました。
pip3は、Python3.7に付随しているようで、インストールし直したら自動的に入っていました。
その後、cgiを有効に設定し、webブラウザで走るようにしました。
そして、「requests」をインストールしようとしましたが、どういうわけかsudoではpython3が見つからないようです。
そこで、su -でrootになって同様にコマンドを実行すると、「requests」がインストールできました。
この時点で/usr/local/lib/python3.7/site-packages/requestsフォルダーは存在し、中身もあります。
/home/apple2c/.localフォルダーにはshareしかありません。
ですが、まだ意図通りにwebブラウザに表示されません。

CentOS7の端末

[apple2c@localhost ~]$ sudo python3 -m pip install requests sudo: python3: コマンドが見つかりません [apple2c@localhost ~]$ su - パスワード: 最終ログイン: 2023/07/26 (水) 18:43:51 JST日時 pts/0 [root@localhost ~]# python3 -m pip install requests Collecting requests Obtaining dependency information for requests from https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl.metadata Downloading requests-2.31.0-py3-none-any.whl.metadata (4.6 kB) Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.7/site-packages (from requests) (3.2.0) Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.7/site-packages (from requests) (3.4) Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.7/site-packages (from requests) (2.0.4) Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/site-packages (from requests) (2023.7.22) Using cached requests-2.31.0-py3-none-any.whl (62 kB) Installing collected packages: requests Successfully installed requests-2.31.0 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 [root@localhost ~]#

test001.py

python3

1#!/usr/local/bin/python3.7 2# coding:utf-8 3 4import sys 5import pprint 6 7print('Content-Type: text/html\n\n') 8print('Status: 200 OK<br>') 9 10pprint.pprint(sys.path) 11print('<br>') 12 13sys.path.append('/usr/local/bin/python3.7/site-packages') 14pprint.pprint(sys.path) 15print('<br>') 16 17import requests # conda install requests 18print('requestsをimportできました')

Macのwebブラウザ

Status: 200 OK ['/var/www/html', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages'] ['/var/www/html', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages', '/usr/local/bin/python3.7/site-packages']

/var/log/httpd/error_log

[Wed Jul 26 18:28:24.720611 2023] [cgi:error] [pid 1630] [client 192.168.1.97:49378] AH01215: Traceback (most recent call last): [Wed Jul 26 18:28:24.720673 2023] [cgi:error] [pid 1630] [client 192.168.1.97:49378] AH01215: File "/var/www/html/test001.py", line 17, in <module> [Wed Jul 26 18:28:24.720708 2023] [cgi:error] [pid 1630] [client 192.168.1.97:49378] AH01215: import requests # conda install requests [Wed Jul 26 18:28:24.720762 2023] [cgi:error] [pid 1630] [client 192.168.1.97:49378] AH01215: File "/usr/local/lib/python3.7/site-packages/requests/__init__.py", line 43, in <module> [Wed Jul 26 18:28:24.720775 2023] [cgi:error] [pid 1630] [client 192.168.1.97:49378] AH01215: import urllib3 [Wed Jul 26 18:28:24.720829 2023] [cgi:error] [pid 1630] [client 192.168.1.97:49378] AH01215: File "/usr/local/lib/python3.7/site-packages/urllib3/__init__.py", line 42, in <module> [Wed Jul 26 18:28:24.720865 2023] [cgi:error] [pid 1630] [client 192.168.1.97:49378] AH01215: "urllib3 v2.0 only supports OpenSSL 1.1.1+, currently " [Wed Jul 26 18:28:24.720975 2023] [cgi:error] [pid 1630] [client 192.168.1.97:49378] AH01215: ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.0.2k-fips 26 Jan 2017'. See: https://github.com/urllib3/urllib3/issues/2168

となっていますが、これはrequestsurllib3に依存していて、それが入っていないという事でしょうか?
それと、python3 -m pip install requestspip3 install requestsの違いが今ひとつ分かっていないのですが、前者は「requests」の依存関係もまとめてインストール、後者は依存関係はインストールされない?という事でしょうか?

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

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

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

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

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

ikedas

2023/07/26 11:05

> また最大文字数を超えて追記できなくなったので、新しくスレッドを立てました。 それはいくらなんでもおかしいです。あれだけの文字数でそれ以上書けなくなるとは思えません。 使っているウェブブラウザを再起動する、別のウェブブラウザを使う、別のパソコンでアクセスする、といったことをやってみてください。
ikedas

2023/07/26 11:10

あと、前のページの回答で「グローバルモジュールパスにインストールすればsys.pathの変更はいらない」と書きましたが、読んでもらえていないのですか。 さらに、上のsys.pathの変更内容は (そもそも必要ないのですが) 間違っています。変更内容に書くのはbinではなくlibです。 ちょっと慌て過ぎではないですか。いったん手を休めて、しばらく (1、2日ほど) 休息なさってはどうですか。
jbpb0

2023/07/26 14:47 編集

質問者さん > sys.path.append('/usr/local/bin/python3.7/site-packages') で 「/usr/local/bin/python3.7/site-packages」 を「sys.path」に追加してますが、 https://teratail.com/questions/irgq73vifgeyue には > Requirement already satisfied: requests in /usr/local/lib/python3.7/site-packages (2.31.0) とあるので、「requests」がインストールされた場所は、 「/usr/local/bin/python3.7/site-packages」 ではなく 「/usr/local/lib/python3.7/site-packages」 のはずです ikedasさんも書いてるように、 「/usr/local/lib/python3.7/site-packages」 は元々「sys.path」に含まれてるので、「sys.path.append」で追加する必要はありません
guest

回答2

0

python3 -m pip install requestsとpip3 install requestsの違いが今ひとつ分かっていないのですが、

こちらにだけ回答します。
そのOSにPythonが1つしか入っていない場合は、どちらも同じ結果です(command not foundにならない限り)。
複数のPythonが入っている場合は、それぞれでインストールされるPython環境が異なる可能性があります。
例えば、python3 が OS標準のPythonで、pip3 がホームディレクトリの下にインストールしたPythonの物とか。逆かも知れないし、どちらもホームの下の別のバージョンかも知れない。
typewhichでそれぞれのコマンドが何処のディレクトリの物かを調べて、同じ場所なら、結果は同じでしょう。

投稿2023/07/26 11:16

otn

総合スコア86324

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

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

0

自己解決

最後は、
pip3 install 'urllib3>=1,<2'で「urllib3」を2.0未満にダウングレードして、
https://qiita.com/Esfahan/items/4e2002f4a24589b2d0bf
を参考に「OpenSSL1.1.1」をインストールして解決しました。
無事に「requests」がインポートできました。

ここまで導いていただきました皆さん、ありがとうございました。

投稿2023/07/26 11:49

編集2023/07/26 11:49
One_of_Arthur

総合スコア82

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問