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

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

新規登録して質問してみよう
ただいま回答率
85.33%
Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Python

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

Q&A

1回答

165閲覧

Google collabのコマンドのパスが変えられない

kak

総合スコア28

Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Python

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

0グッド

0クリップ

投稿2025/02/07 09:57

実現したいこと

google collabでgrapheinというコマンドが動くようにパスを通したい

発生している問題・分からないこと

google collab上でPython3.8をインストールした環境でgrapheinというコマンドのパスが以下に通っています。

!which graphein /usr/local/bin/graphein

中身は以下のようになっていました。

/usr/local/bin/graphein*

#!/usr/bin/python3 # -*- coding: utf-8 -*- import re import sys from graphein.cli import main if __name__ == '__main__': sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) sys.exit(main())

ただ、grapheinをインストールしたのは以下で、
/usr/local/lib/python3.8/dist-packages/graphein

下記のファイル類が入っています。

total 44
-rw-r--r-- 1 root root 1546 Feb 7 08:39 cli.py
drwxr-xr-x 4 root root 4096 Feb 7 08:39 grn/
-rw-r--r-- 1 root root 773 Feb 7 08:39 init.py
drwxr-xr-x 5 root root 4096 Feb 7 08:39 ml/
drwxr-xr-x 5 root root 4096 Feb 7 08:39 molecule/
drwxr-xr-x 4 root root 4096 Feb 7 08:39 ppi/
drwxr-xr-x 6 root root 4096 Feb 7 08:39 protein/
drwxr-xr-x 2 root root 4096 Feb 7 08:39 pycache/
drwxr-xr-x 5 root root 4096 Feb 7 08:39 rna/
drwxr-xr-x 3 root root 4096 Feb 7 08:39 testing/
drwxr-xr-x 4 root root 4096 Feb 7 08:39 utils/

今後やりたい作業工程で以下のエラーが発生します。

エラーメッセージ

error

1 from graphein.utils.dependencies import import_message 2ModuleNotFoundError: No module named 'graphein.utils.dependencies' 3 4

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果
!ln -nfs /usr/local/lib/python3.8/dist-packages/ \ graphein
!echo export PATH='/usr/local/lib/python3.8/dist-packages/:$PATH' >> ~/.bash_profile !source ~/.bash_profile !exit
sys.path.append("/usr/local/lib/python3.8/dist-packages")

などを試しましたが、!ln -nfsをした後からは!which grapheinをしても何も出てこなくなり、 /usr/local/bin/graphein*が消え、以下のようにリンクができていますが、

ls -l /usr/local/bin/ lrwxrwxrwx 1 root root 47 Feb 7 09:52 graphein -> /usr/local/lib/python3.8/dist-packages/graphein/

!which graphein
を入れても何も出てきません。

補足

特になし

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

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

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

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

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

meg_

2025/02/07 11:12

> google collabでgrapheinというコマンドが動くようにパスを通したい 「google collab」とは何ですか? > ただ、grapheinをインストールしたのは以下で、 どのようにインストールしましたか?バージョンは何ですか?
syoshinsya-

2025/02/07 11:35

> Python3.8をインストールした環境 下記を実行してください。 バージョンがあっているか確認したいです。 出力結果を教えてください import platform platform.python_version_tuple()
melian

2025/02/07 11:49

/usr/local/bin/graphein の shebang が /usr/bin/python3 になっています。 #!/usr/bin/python3 実際には、別途インストールした Python3.8 を利用するのですから、 #!/usr/local/bin/python3.8 か、PATH が通っているのであれば、 #!/usr/bin/env python3.8 と変更する必要があるかと思います。
kak

2025/02/07 13:36

コメントありがとうございます。 >syoshinsya- ('3', '11', '11')と出ました。 !python --version Python 3.8.20 なのですが、なぜでしょう? >shebangというのを初めて知りました。!/usr/local/bin/python3.8、#!/usr/bin/env python3.8に変更しましたが、どちらも同じエラーが出ました。
kak

2025/02/07 14:13

>meg_ すみません、コメント見逃してました。 ありがとうございます。 Google Colabですね。綴り間違えてました。 インストールはpip install graphein==1.6.0でやりました。 git clone https://github.com/a-r-j/graphein.git pip install -e graphein/ でのインストール方法が書かれていたのですが、これで入れるとPythonのバージョンが合わずにうまくいきませんでした。
syoshinsya-

2025/02/07 14:45 編集

('3', '11', '11')と出ました。 !python --version Python 3.8.20 なのですが、なぜでしょう? パスが違うからです。 これを変更する方法は知りません。 恐らく以下のような方法で実行することでインポートエラーが出ないと思います。 !python -c 'import graphein'
melian

2025/02/07 14:52

Colab 上で試してみました。 # 最初に apt コマンドで Python 3.8 をインストールします !apt update -y !apt install python3.8 python3.8-distutils python3-pip # 次に graphein 1.6.0 を pip でインストール !python3.8 -m pip install graphein==1.6.0 # /usr/local/bin/graphein としてインストールされます !which graphein /usr/local/bin/graphein # /usr/local/bin/graphein スクリプトの shebang を確認すると /usr/bin/python3.8 となっています !head `which graphein` #!/usr/bin/python3.8 # -*- coding: utf-8 -*- # 単純に実行してみましたが、ワーニングメッセージが表示されます !graphein [02/07/25 14:46:28] WARNING To use the Graphein submodule
quickquip

2025/02/07 15:37 編集

CLIコマンドgrapheinが必要な理由が分かりません。Pythonで使うなら !pip install graphein でよいと思うのですがそれで駄目な理由(1.7.7ではだめで1.6.0がどうしても必要?)や、CLIコマンドgrapheinがなぜ必要なのか、説明していただけますか? > Python3.8をインストールした環境で これもなぜ?? としか思えず、この時点で「Google Colab を使う理由がまったくなくなってる」「それが必要ならGoogle Colab を使うのは遠回り」くらいに思ってしまいますが…… > 今後やりたい作業工程で以下のエラーが発生します。 の部分の「やりたい作業工程」というのは自分でスクリプトを作って実行するという話で、Colab ノートブックは使おうとは**思ってない**、という理解でいいんでしょうか?
kak

2025/02/08 02:06

みなさま、たくさんのコメントをありがとうございます。 >syoshinsya- 確かに!python -c 'import graphein'だとエラーは出ないようです。 >melian 同様のメッセージがでました。 最終的にはProt2Text https://github.com/hadi-abdine/Prot2Text/blob/master/README.md を動かしたいのですが、Instructionの通りにやったところ、Pythonのバージョン違いのエラーが頻発したので、ここに書いてあるようにPython3.8の環境で準備しているところです。 Google Colabを使っているのは今の自分の環境でプログラムを動かせる方法だからです。 grapheinを1.6.0で指定したのもpip install grapheinで入れようとしてエラーに対処しきれず、これまでのリリースからエラーが対応できたバージョンだからです。 ただ、もう一度pip install grapheinをしたらエラーは出ませんでしたが、melianさんの試してくれた状況と同じで変わりません。 Prot2Textのように git clone https://github.com/a-r-j/graphein.git pip install -e graphein/ を試すと Requirement already satisfied: six>=1.5 in /usr/lib/python3/dist-packages (from python-dateutil>=2.8.1->pandas->cpdb-protein) (1.16.0) Building wheels for collected packages: cpdb-protein error: subprocess-exited-with-error × Building wheel for cpdb-protein (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> See above for output. note: This error originates from a subprocess, and is likely not a problem with pip. Building wheel for cpdb-protein (pyproject.toml) ... error ERROR: Failed building wheel for cpdb-protein Failed to build cpdb-protein ERROR: Failed to build installable wheels for some pyproject.toml based projects (cpdb-protein) と出るのですが、このcpdb-proteinがインストールできずに断念しています。 みなさまのご指摘からパスでは無く、インストールがきちんとできていないことに気づきました。 cpdb-proteinのインストールを頑張るのが良さそうですね。
kak

2025/02/08 02:07

”最終的に” 〜”断念しています。”は >quickquipさん宛のコメントでした。
quickquip

2025/02/08 04:25 編集

!pip install graphein で1.7.7をインストールしちゃ駄目な理由はなんでしたか? (ドキュメント通りじゃない 以外で)
quickquip

2025/02/08 04:38 編集

!git clone https://github.com/a-r-j/graphein.git !pip install -e graphein/ も失敗せずにインストールできます。 この後でなにがうまくいかないことが出たんでしょうか? (pandasが置き換わったりしたなどで)
kak

2025/02/08 05:04

>quickquip !pip install grapheinでも自分のPython3.8の環境だと!pip install graphein==1.6.0と同じ状況になります。 python3.11のままだとcpdb-proteinもgraphein(Pandasのバージョンのエラーは出る)も入りますね。 Prot2Textの指示通りにPytorchを入れていく過程でPythonのバージョン違いのエラーがかなり出たのでpython3.8を試していましたが、python3.11(少なくともmeg_さんの言うように3.9以降)で何とかするしかないみたいですね。
guest

回答1

0

Google Colabですね。綴り間違えてました。

Google ColaboratoryにおけるPythonのバージョンダウンは、以前は出来ていた方法でも出来なくなったという事象があるようです。
https://qiita.com/wakaneko/questions/2a7b8e0c86961cf4dd52
https://qiita.com/makaishi2/items/981b20d0ea8ce5526801 (上記の元記事)

Google Colaboratoryは基本Pyhonのバージョンは変更せずに使用した方が良いかと思います。
またPython3.8のサポート期限も過ぎていますので、3.9以降の使用を検討しましょう。(https://devguide.python.org/versions/)
ローカル環境で複数のバージョンのPythonを管理する方法もありますのでこちらの方が良いかと思います。OSによっても方法がいくつかありますのでご自身のPC環境に合った方法を調べてみてください。

投稿2025/02/08 04:10

meg_

総合スコア10818

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

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

kak

2025/02/08 05:09

回答ありがとうございます。 パスがどうのということではなく、Pythonのversionの問題なのですね。 今はローカルで出来る環境がないので、今後アナコンダなどで試してみようと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.33%

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

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

質問する

関連した質問