[OSGeoJapan-discuss] QGIS2.12.3 32bitで自前moduleのエラーについて

Tetsuya Oba t.oba @ tys-yokohama.co.jp
2016年 8月 2日 (火) 19:21:08 PDT


朝日 様

マニアックな質問で申し訳ないです。

QGIS2.12以降、f2py.pyは \apps\Python27\Scripts の中に存在します。
したがってpipでインストールする必要はありません。

\apps\Python27\Scriptsの中にf2py.batを以下の内容で作成すれば
QGISのOSGeo4Wコンソールから実行できます。

@echo off
python "%~dpn0.py" %*

但し、gfortranの設定等を行わなければ、pydは作成されませんので、
MinGW32bit版を用意する必要があります。

いろいろとゴリゴリする必要があるので、もしそれらの手順をすっ飛ばすなら、
WinPythonをインストールするとf2py環境を簡単に作成できます。
QGISのPythonのversionに近い、WinPython-32bit-2.7.6.4を下記からダウンロー 
ドして
https://sourceforge.net/projects/winpython/files/WinPython_2.7/2.7.6.4/
適当なフォルダーにインストールします。
C:\直下が作業的には便利でしょうか?

インストール後、WinPython Command Prompt.exeでcmdコンソールを立ち上げて
f2pyでいけます。

次に、f2pyの実行ですが、
WinPython Command Prompt.exeでcmdコンソール立ち上げ
作業フォルダーはcheck.fにchdirしておきます。
f2pyのoptionとして、
f2py -c --fcompiler=gfortran --compiler=mingw32 -m check check.f

でpydを作成します。

これでcheck.pydが出来上がっているはずです。

試しにPython立ち上げて、importして、
import check
check.check('test.txt')

するとtest.txtが出来上がっています。

このpydを
\apps\Python27\DLLs
にcopyして、QGISのpythonコンソールからimportすると
エラーになります。

なぜか?f77だからか?
もしかしたら、f90にする必要があるのかもしれませんが。。。
いろんなパターンを検証する必要があるかもしれません。

ついでに、朝日様のQGIS32bit版で2.14以降pythonコンソールから
matplotlibはimportできますでしょうか?

弊社PCではどれもできないのですが。
教えていただくと幸いです。

よろしくお願いいたします。

以 上




On 2016/08/03 10:26, 朝日孝輔 wrote:
> 大庭さま
>
> 朝日です。
>
> 興味がありやってみたいなと思ったので、回答ではなく質問で失礼します。
> f2pyのインストール自体は、osgeo4w上でpip等で行ったものでしょうか?
> 入れて試してみようと思ったのですが、入れる時点でつまづいてしまいまして...
>
> 差付けない程度で教えていただけると助かります。
> 宜しくお願いします。
>
> On 2016/08/01 22:49, tys wrote:
>> メーリングリストの皆様
>>
>> windows 10 64bit環境でQGIS2.12.3 32bitを使っています。
>> 手持ちのfortranをシミュレーションプログラムをQGIS上で動かしたいと考え 
>> ています。
>> やり方や考え方が間違っているのか?
>>
>> とりあえず、テストとして
>> 以下の手順でやってみましたが。
>>
>> 1.出力するだけのテストfortranプログラムを作成し、check.fで保存。
>>
>>        subroutine check(infile)
>>        character*80 infile
>>
>> cf2py intent(in) infile
>>
>>        open(10,file=infile,status='new')
>>        write(10,100) (i,i=1, 100)
>>    100 format(10i5)
>>        close(10)
>>
>>        return
>>        end
>>
>> 2.QGISのOSGeo4wコンソールでf2pyでcheck.pydを作成完了
>>
>> 3.OSGeo4wコンソールでpython起動で読み込み、動作確認。
>>  この時点でファイルは作成されています。
>>
>> 4.作成したpydファイルをC:\Program Files (x86)\QGIS Lyon\apps 
>> \Python27\DLLsにcopy
>>
>> 5.QGIS起動後、pythonコンソールからpydファイルを読み込む。
>>  と、ここでエラー発生。
>> <http://osgeo-org.1560.x6.nabble.com/file/n5278930/checK_error.jpg>
>>
>> なぜかDLL load errorとなる。
>>
>> そもそも、コンソール出力やファイルへの出力はできないのでしょうか?
>>
>> QGIS2.14.4 64bit環境でも同様の状況です。
>>
>> なるべくfortranの資産を生かしたいと考えています。
>> 解決方法など、ご教示のほど、よろしくお願いします。
>>
>>
>>
>>
>> -----
>> /****************************/
>> 合同会社TYS
>> 技術開発部
>> 大庭哲哉
>> http://www.disaster-software.net/
>> http://blog.godo-tys.jp/
>> /****************************/
>> -- 
>> View this message in context: 
>> http://osgeo-org.1560.x6.nabble.com/QGIS2-12-3-32bit-module-tp5278930.html
>> Sent from the OSGeo Japan Local Chapter mailing list archive at 
>> Nabble.com.
>> _______________________________________________
>> OSGeoJapan-discuss mailing list
>> OSGeoJapan-discuss @ lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>
> _______________________________________________
> OSGeoJapan-discuss mailing list
> OSGeoJapan-discuss @ lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>
>


-- 
==================================
合同会社 TYS
技術開発部
大庭哲哉
Tetsuya Oba

〒252-0318
相模原市 南区 上鶴間本町5-32-25

TEL : 042-812-5920
FAX : 042-812-5920
E-mail : t.oba @ tys-yokohama.co.jp
URL    : http://www.godo-tys.jp/
        : http://blog.godo-tys.jp/
        : http://www.disaster-software.net/
        : http://www.tys-yokohama.co.jp/

==================================



OSGeoJapan-discuss メーリングリストの案内