• ベストアンサー

RaspberrePiのpython2.7

RaspberrePiのpython2.7でimportするモジュール(ライブラリ?)のソースコードはいずれのディレクトリに在るのでしょうか 読みだして参考にしたいのです ご存知の方お教え下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • tkf-
  • ベストアンサー率58% (821/1396)
回答No.2

RASPBIAN JESSIE ( https://www.raspberrypi.org/downloads/raspbian/ ) で、 apt-get install python-smbus でインストールしたものと仮定すると・・・ 派生元のdebianのサイトから、派生元のソースが取得できます。 https://packages.debian.org/source/jessie/i2c-tools > import smbusというi2cのライブラリのソースを探しています。 これを先に書いておいて欲しかったですね。

muku708
質問者

お礼

ありがとうございます。 お教えいただいたURLからpython-smbus_3.2.2-1_adm64.debをダウンロードして解凍し中身を見ることができました。 私の先入観でRasPiにインストールされているpythonのいずれかのディレクトリにライブラリのソースがあるものと思い込んでおりました。

その他の回答 (1)

  • tkf-
  • ベストアンサー率58% (821/1396)
回答No.1

/usr/lib/python2.7/ の下にあるのがそうなんじゃないかな。

muku708
質問者

お礼

早速のご回答ありがとうございます。 RaspberryPiもpythonも全くの初心者です。 早速そのディレクトリは見てみましたが、それらしきものを見つけられません import smbusというi2cのライブラリのソースを探しています。 PICのxc8でi2cのスレーブはテストしてみたことがありRaspberryPi & pythonではどの様なライブラリになっているのかちょっと見てみたいのです。

関連するQ&A

  • Python エクセル読み込み xlrdについて

    標記の件につきましてお尋ねさせてください。 xlrdモジュールをインストールしました。 ’C¥Python27¥xlrd-0.9.3’とフォルダが作成されました。 このディレクトリからPythonのinteractive shellを起動し、’import xlrd’とすると、起動できてるようですが、’C¥Python27’からinteractive shellを起動し’import xlrd’をするとエラーになります。 (Import Error:No module named xlrd) なぜでしょう・・・ エクセルを読ませたいときは常にxlrd-0.9.3からはじめないといけないのでしょうか? ご回答お願いいたします。

  • Pythonのバージョンアップについて

    CentOS5.5にはPython2.4がデフォルトで入っているのですが、Python2.6でスクリプトを作成する必要がありバージョンアップをしているのですが、dbusモジュールのインポートができず行き詰っております。 具体的には、Python2.4とdbus-pythonがインストールされている状態で、下記のURLを参考にyumでPython2.6をインストールしました。 環境としては「/usr/bin/phthon2.4」と「/usr/bin/phthon2.6」が出来た状態です。 libは「「/usr/lib/phthon2.4」と「/usr/lib/phthon2.6」です。 dbus-pythonのインストール先は「/usr/lib64/python2.4/site-packages/dbus」になります。 Python2.4を環境で下記のインポートは問題ありません。 >>>import dbus しかし、Python2.6環境で同じコマンドを実行すると下記のようなエラーになります。 >>> import dbus Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named dbus dbusの再インストールはリスクが高いと思い、モジュールのパスを通してみたところ下記のようなエラーになりました。 >>> import sys >>> sys.path.append('/usr/lib64/python2.4/site-packages') >>> import dbus Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib64/python2.4/site-packages/dbus/__init__.py", line 1, in <module> from _dbus import * File "/usr/lib64/python2.4/site-packages/dbus/_dbus.py", line 45, in <module> import dbus_bindings ImportError: /usr/lib64/python2.4/site-packages/dbus/dbus_bindings.so: undefined symbol: Py_InitModule4 rpmでモジュールインストール先の変更や、Python自体をソースからインストールなどしてみたのですが、全てうまく行かない状態です。 Pythonバージョンアップ前にインストールされているモジュールの使い方をご存知の方がおられましたら、宜しくお願いします。

  • Pythonでタートルが使えません

    Pythonでタートルモジュールを使いたいのですが、 import turtle または、 from turtle import * と打ち込んでも新しいウインドウが出てきません。 また、エラーも出てきません。 どうしたら出てくるようになるでしょうか。 バージョンは2.7です。去年の12月は使えました。 よろしくお願いします。

  • PythonとRubyどちらを選ぶべきでしょう?

    こんにちは。 今、PythonとRubyどちらをメインで学ぶべきかを考えており良かったら皆様の意見を参考にしたく思います。 現状 Ruby 7ヶ月 Python 1ヶ月 ほどの経験があります。(プログラミングはまだ初心者です。) Rubyの方が慣れているのですが、以下のような考えからPythonをメインで使った方がいいのか考えています。 以下、僕の考え 今後、Ruby on Railsがどんどん使われだして、現在のPHPのような形でRubyが使われるんじゃないか。 とすると、Rubyを使っても他の人と全く差別化出来ない取り替えの効いてしまうプログラマにしかなれないのでは。 Pythonの場合は、まだ日本でのユーザー数が少ないこともあり、Ruby,PHPに比べれば自分を差別化することにつなげられるのではないか。 とすれば、Pythonを使った方がいいか? ちなみにコレ以外に今思っていることとして、 Pythonはモジュールをインポートすることが前提とされているため、モジュールを効率的に利用する方法が学びやすい。そのため、プログラミングの学習には向いている。 PythonにもturbogearsやDjangoがあるので、Railsが無くてもいいのでは? Google app engineの登場で、Python学習に都合の良い場所が出来た。 といったことです。 これらの考え方について皆様はどのように思われますか?逆にPythonやRubyよりもCやPerlをやった方がいいんじゃないかといった意見もありましたら頂けると嬉しいです。よろしくお願いします。 (追記)ちなみに僕は今学生で、就職先ではきっとPHPを使うことになります。(ホントはあまり使いたくないのですが)

  • Python クラスとモジュールの違いについ

    プログラミング初心者です。※初めてのプログラミングでPythonの勉強中です。開始2週間程度です!! Pythonにおける(プログラム一般における?)クラスとモジュールの違いが分かりません。 ■現状の認識 ・モジュール 「***.py」といったような一つのファイル 他のモジュールからimportすることによって使用できる ・クラス 「***.py」といった一つのファイルの中に「class」として宣言できる 他のモジュールからインスタンスを生成して使用できる ■疑問点 上記を使い分ける意味 上記を使い分けた時のメリット、デメリット ※すべてモジュールとして作成して、使用したいときにimportすればいいのでは?と考えています。 現状Pythonの知識しかありませんが、プログラミング一般の知識のような気がしています。 プログラムに詳しい方よろしくお願い致します。

  • pythonの文字エンコーディングについて

    pythonのデフォルトエンコーディングは asciiコードですよね? まず mod_wsgiモジュールを用いてapache上で実行したいと思っています。 そこで通常はマジックコメントで #cofing: utf-8 とかかなければ日本語などのマルチバイトは使用できませんよね? それを http://d.hatena.ne.jp/ama-ch/20080610/1213073848 上記ページを参考に import sys sys.setdefaultencofing("utf-8"); とかいて、やればれスクリプトを記述したファイルの冒頭で # coding: utf-8 のマジックコメントを書かなくてもよくなるのかなとおもったのですが そうはいきませんでした。 私のは考えはデフォルトの文字コードが utf-8なら マジックコメントを記述しなくても日本語があつかえるだろうと思っていたのですが・・・・。 上記ページを参考にしてデフォルトの文字コードをutf-8したにも関わらず スクリプトはマジックコメントを記入しなければ 日本語が表示されないのでしょうか? pythonのversionは2.7.2です。

  • Pythonでタートルが使えません

    Pythonでタートルモジュールを使いたいのですが、 import turtle または、 from turtle import * と打ち込んでも新しいウインドウが出てきません。 また、エラーも出てきません。 どうしたら出てくるようになるでしょうか。 バージョンは2.7です。去年の12月は使えました。 windows7 32bitです。 forward(100)とかを入力するとNameErrorが起こります。 前に同じ質問をして、再インストールすればよさそうだと思ったのですが、しても変わらず、使えないままでした。 よろしくお願いします。

  • apacheとmod_pythonについて

    Python2.6、MacOSX10.6の環境でmod_pythonで動かしたいのですが、以下のようなエラーが出てしまいます。 MySQLdb関係のようですが、コマンドでpython -c "import MySQLdb" とした場合はエラーがでません。 解決法がさっぱりわからないのでわかる方教えていただけると助かります ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Library/WebServer/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so, 2): Library not loaded: libmysqlclient.16.dylib Referenced from: /Library/WebServer/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so Reason: image not found よくわかりませんが、 /Library/WebServer/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so は存在しているようです

  • Pythonで、C言語のモジュールを利用したい!

    初めまして。 どなたか回答いただければ幸いです。 Pythonで利用できるモジュールを、C言語で作成したいと思っているのですが、方法が良くわかりません。 現在、Windowsで、CygwinのGCCを用いて、C言語をコンパイルしています。 GCCでコンパイル→DLLファイル作成→Pythonで利用? という大まかな流れかな~と思いまして、 見よう見まねで、 $gcc -shared test.o -o testmodule.dll というコマンドでDLLファイルを作成して、それをPythonで認識できるフォルダに格納して、Pythonのプロンプトで、 >>>import testmodule(あるいは、import testmodule.dll) とかやったのですが、 ImportError: DLL load failed: 指定されたモジュールが見つかりません。 と言われてしまいました。 鋭意調査中ですが、ご存知の方がおられましたら、 ご教授お願いいたします。

  • pythonでの日本語操作

    お世話になります。 現在、pythonにてあるディレクトリの一覧を表示させるプログラムをしているのですが、対象の中に日本語を含むディレクトリ・ファイルがあると 処理が行われません。 現在書いているコードです。↓ #! /usr/bin/env python # -*- coding: utf-8 -*- # ファイルとサブディレクトリのパスを表示する import os, os.path path = "D:\Myfiles\あいうえお\ " for root, dirs, files in os.walk(path): for file in files: print os.path.join(root) 環境はwindowsXP,python2.6です。 エンコード・デコードを行ったのですがうまくいきませんでした。 ちなみに、pathに日本語が含まれない場合には、一覧が取得できます。 お手数ですが、分かる方いらっしゃいましたら教えてくださいませ。

専門家に質問してみよう