keep-loving-pythonのブログ

Pythonを愛し続けたいです(Pythonが流行っている限りですが。。。)

解決策。(OpenSSL側をなんとかするという対策は見かけませんね。⇒)ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+。

エラー

環境

windows10 python3.7

urllib3                           2.0.4

エラーの内容

Traceback (most recent call last):
  File "pytorch_lstm_neuralnetwork.py", line 41, in <module>
    import torchvision.transforms as transforms
  File "C:\Users\XYZZZ\AppData\Local\Programs\Python\Python37\lib\site-packages\torchvision\__init__.py", line 5, in <module>
    from torchvision import datasets, io, models, ops, transforms, utils
  File "C:\Users\XYZZZ\AppData\Local\Programs\Python\Python37\lib\site-packages\torchvision\datasets\__init__.py", line 1, in <module>
    from ._optical_flow import FlyingChairs, FlyingThings3D, HD1K, KittiFlow, Sintel
  File "C:\Users\XYZZZ\AppData\Local\Programs\Python\Python37\lib\site-packages\torchvision\datasets\_optical_flow.py", line 12, in <module>
    from .utils import _read_pfm, verify_str_arg
  File "C:\Users\XYZZZ\AppData\Local\Programs\Python\Python37\lib\site-packages\torchvision\datasets\utils.py", line 22, in <module>
    import requests
  File "C:\Users\XYZZZ\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\__init__.py", line 43, in <module>
    import urllib3
  File "C:\Users\XYZZZ\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\__init__.py", line 42, in <module>
    "urllib3 v2.0 only supports OpenSSL 1.1.1+, currently "
ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.1.0j  20 Nov 2018'. See: https://github.com/urllib3/urllib3/issues/2168

解決策

この記事の説明のとおり

stackoverflow.com

つまり

pip install urllib3==1.26.6 

★バージョンを下げるのは、嫌ですが。。。しょうがないですね。 OpenSSLをどうこうするという案は、見かけませんでした!!!

解決策。Python。windows環境でのmknod。

エラーになるコード

os.mknod(scale_path)

以下のサイトのコードにありました。

https://github.com/HelenGuohx/logbert

解決策

消してもいいのでは?

上記のサイトのコードの場合には、不要なコードでした。

以下のサイトの解説が参考になります。

stackoverflow.com

引用すると

どちらの方法を選んでも、もしmknodを使用して名前付きパイプを作成しようとしている場合は、おそらくmkfifo()を使う方が良いでしょう(再度言いますが、これはUnixのみでサポートされています)。一方、通常のファイルを作成するためにmknodを使用している場合はやめて、代わりに移植性のあるopen()を使ってください。

無意味なコードだと思うが。。。ファイルをopen(作成)する

f_dummy = open(scale_path,"wb")

解決策。explainer.explain_graphでエラー。

エラーの内容

Traceback (most recent call last):
  File "chapter14.py", line 146, in <module>
    feature_mask, edge_mask = explainer.explain_graph(data.x, data.edge_index)
  File "C:\Users\XYZZZ\AppData\Local\Programs\Python\Python37\lib\site-packages\torch_geometric\explain\algorithm\gnn_explainer.py", line 315, in explain_graph
    target=self.get_initial_prediction(x, edge_index, **kwargs),
  File "C:\Users\XYZZZ\AppData\Local\Programs\Python\Python37\lib\site-packages\torch\autograd\grad_mode.py", line 27, in decorate_context
    return func(*args, **kwargs)
  File "C:\Users\XYZZZ\AppData\Local\Programs\Python\Python37\lib\site-packages\torch_geometric\explain\algorithm\gnn_explainer.py", line 295, in get_initial_prediction
    out = self.model(*args, **kwargs)
  File "C:\Users\XYZZZ\AppData\Local\Programs\Python\Python37\lib\site-packages\torch\nn\modules\module.py", line 1194, in _call_impl
    return forward_call(*input, **kwargs)
TypeError: forward() missing 1 required positional argument: 'batch'

環境

torch-geometric                   2.2.0

windows10 python3.7 CPU

このエラーに出会ったのは。。。。

以下のを上記の環境(CPU)で動かそうとしました。 https://github.com/PacktPublishing/Hands-On-Graph-Neural-Networks-Using-Python/tree/main/Chapter14

↑これをみて2.2.0にしましたが。。。。

解決策

python -m pip install "torch-geometric<2.2"

にて、バージョンを直前に下げた

torch-geometric                   2.1.0.post1

解決策。ImportError: cannot import name 'contextfilter' from 'jinja2'

発生状況

jupyter nbconvert --to python chapter14.ipynb

環境

windows10
python 3.7

解決策

以下の記事のとおり

https://teratail.com/questions/4is773oq9pg5h7

具体的には

nbconvert                         5.5.0

のバージョンをあげた

nbconvert                         7.6.0

バージョンの問題か、単に、インストールし直し的な作用か不明!!

torchとtorchvisionのversionの組合せは、pipによる依存性確認ではわからないというか、そもそも、決まってると思います。

torchをあるバージョンにしたい。torchvisionをあるバージョンにしたい。これは、バラバラには無理だと思います。

>python -m pipdeptree | grep torchvision

その結果、以下みたいな感じで、torchのことは出てきません。

・・・・
* torchtext==0.11.2
 - torch [required: ==1.10.2, installed: 1.8.1]
* tsfresh==0.12.0
 - pandas [required: >=0.20.3,<=0.23.4, installed: 1.3.5]
* typer==0.3.2
 - click [required: >=7.1.1,<7.2.0, installed: 8.1.3]
------------------------------------------------------------------------
Warning!! Cyclic dependencies found:
* Naked => Naked => Naked
------------------------------------------------------------------------
  - torchvision [required: >=0.8.2, installed: 0.9.1]
  - torchvision [required: Any, installed: 0.9.1]
  - torchvision [required: Any, installed: 0.9.1]


どう決まっているか。

pypi torchvision

https://pypi.org/project/torchvision/

pytorchのサイト

たぶん、こうすれば良い。 (すみません、この項、間違い!!です。)

例えば、torchを1.13.0に是非したいという場合には、そのように、pipでインストールすれば良い。
torchvisionは、勝手にそれにあったもの(バージョン)にかわるはず。

訂正(普通にPytorchのサイトから。。。)

訂正します。いろんな場合があるみたいで。。。 結局。

https://pytorch.org/get-started/previous-versions/

たとえば、↓みたいな感じで。。。

python -m pip install torch==1.13.1+cpu torchvision==0.14.1+cpu torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cpu

で、宜しく。

解決策。『python.exe - エントリ ポイントが見つかりません。』

症状

こんな表示が出る。

解決策

モジュール名などが表示されていると思うで、該当モジュールのインストールのやり直し。 上記だと、torchvisionのインストールのやり直しでOKになるはず。

コメント

上手くいかない事例などあれば、教えて下さい。

markdownのコツ。改行のある長めのテキストをmarkdownにする場合!

markdownで改行は、半角スペース2つなので。。。

下記はサクラエディタを使った例ですが。。。

改行(\r\n)を、半角スペース2つ+改行(\r\n)に変換して下さい。

※「正規表現」にチェックを入れる必要あり(サクラエディタの場合)

この方法で記載した自分の記事

ai-de-seikei.hatenablog.com

コメント

今日、はじめてやりましたが。。。うまくいきました。 エディタとかつかわずにできる方法って??? ご存じならば、コメントとかください。