• ベストアンサー

QGISを外部Pythonで制御したい

QGISのメニューのプラグインにあるPythonコンソールからは動作させる事ができますが、外部のPythonを立ち上げて同様なコードを入力してもNameエラーになってしまいます。PATHの問題かな?と思って変えてみたりはしたのですがうまくいきません。アドバイスをお願いします。1、2ヶ月の初心者です。

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

  • ベストアンサー
noname#259607
noname#259607
回答No.1

OSGeo4Wをご利用であれば、OSGeo4W環境に次の環境変数の設定を追加する必要があります。 set QGIS_PREFIX_PATH=%OSGEO4W_ROOT:\=/%/apps/qgis set PATH=%PATH%;%OSGEO4W_ROOT%\apps\qgis\bin set PYTHONPATH=%OSGEO4W_ROOT%\apps\qgis\python

ka10no
質問者

お礼

ありがとうございます。 早速ためしてみたいと思います。

ka10no
質問者

補足

risovth様 申し訳ありません。追加の質問です。 Windowsアプリのコマンドプロンプトから入力する・・・でよろしいですか? Windows8.1を使用しています。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • QGISを外部Pythonで制御したい

    2014.10.17に「QGISのメニューのプラグインにあるPythonコンソールからは動作させる事ができますが、外部のPythonを立ち上げて同様なコードを入力してもNameエラーになってしまいます。PATHの問題かな?と思って変えてみたりはしたのですがうまくいきません。アドバイスをお願いします。1、2ヶ月の初心者です。」と質問しました。 翌日に「OSGeo4Wをご利用であれば、OSGeo4W環境に次の環境変数の設定を追加する必要があります。 set QGIS_PREFIX_PATH=%OSGEO4W_ROOT:\=/%/apps/qgis set PATH=%PATH%;%OSGEO4W_ROOT%\apps\qgis\bin set PYTHONPATH=%OSGEO4W_ROOT%\apps\qgis\python」とのご回答を頂きました。 コマンドプロンプトで、対話形式やbatファイルを作成して実行しましたがうまく動作しません。 それで再度質問させて頂きます。よろしくご教授下さい。 Windows8.1、QGISは2.2.0-Valmiera、Pythonは2.7.8です。ユーザー環境変数のPATHは、C:\Program Files (x86)\QGIS Valmiera\bin;C:\Users\myname\Documents\GIS DataBase;C:\Program Files (x86)\IronPython 2.7;C:\Python27 としています(GIS DataBaseには地図データが入っています。)。Pythonで iface=qgis.utils.iface と入力すると ・・・・NameError: name 'qgis' is not defined と出て次に進めません。コマンドプロンプトで python と入力するとpythonのプロンプトに変わりますし、qgis と入力すると OSGEO4W home is C:\PROGRA~2\QGISVA~1 と短表示が出てQGISが起動します。教えて頂いた環境変数の設定の追加をコマンドプロンプトで対話形式やbatファイルを作成して実行しましたが同じです。よろしくお願い致します。

  • PythonによるCGIの開発環境の構築

    Pythonを使ってCGIを開発するために、とりあえず下記の環境を整えました。 Python 2.7 Eclipse 3.7.0 また、そのプラグインとして、AptanaStudio、Pydev 「Pydevで書いたスクリプトを、Aptana内蔵のWEBサーバー上で走らせて、ブラウザ上で動作を確認」、というのがやりたいことなんですけど、今は、Pythonの出力がコンソールに表示されたり、ブラウザで見るとソースが表示されるだけだったり、という頭の悪い状態に陥っています。 何をどう設定したらいいのか教えて下さい。 「そんなもんできねーよ!」という場合は、上記の環境をなるべく崩さずに、「Pythonで書かれたCGIの動作をブラウザ上で確認する方法」を教えて下さい。 「それも無理!」という場合は、「あなたのCGI(Python)開発環境」を教えて下さい。 初心者丸出しな質問で申し訳ありませんが、よろしくお願いします。

    • 締切済み
    • CGI
  • pythonのエラーについて教えて下さい。

    pythonの勉強をおこなっている超初心者です。 ネットでみた。以下のサンプルコードを実行しようとしました。 # -*- coding: utf-8 -*- print u'モジュールのロード' def test(): print u'関数:testを呼び出しました' if __name__ == '__main__': print 'python-izm' # print 'パイソンイズム' test() しかし、以下の様なエラーとなってしまいます。 File ”test02.py"、line 9 print ’python-izm'  ^ indentionError:expected an indented block ネット調べてみたとことpythonのインデントのエラーだとわかりました。 pythonはインデントで実行範囲を認識するので、 そこがうまく記述できていないであろうとは思うのですが、何回か試したのですが うまく動いてくれません。 どなたか御指南下さい。

  • python 環境変数を設定したい

    プログラムはまったくの初心者です。 pythonでPATHの設定をして完全パスを入力しないでも良いようにしたいのですが、どうすれば良いのでしょうか? コントロールパネルからシステム、詳細設定、環境変数まではいいのですが、その後どう作成すれば良いのかわかりません。 持っている書籍はオライリーの「初めてのpython」です。

  • Pythonのクラスについて

    Python初心者です。 問:ファイル(添付)のsample.csvを読み込み、行数、項目数をコンソールに表示し、引数で指定したデータフレームにデータを挿入するクラスを作成。 困っています…。この問いを解ける方、コードの記述をお願いします。よろしくお願いします。

  • python3.2で外部プログラムを実行&操作

    民安TALKという音声読み上げソフトを実行&操作するプログラムがあります。これをpythonで書いてみようと思ったのですが、どうすればいいのかがわかりません。 <環境など> 民安TALK(ソース) http://uep.s321.xrea.com/src/index.html OS:Windows7 version:python3.2 <具体的にどうしたいのか> テキストを入力し、再生ボタンを押すとテキストを読みあげるプログラム(.exe)に対し、そのプログラムがまだ起動していなかったら起動して、テキストを入力し、再生ボタンを押すということをやりたいです。ちなみに再生ボタンにはショートカットキーは設定されてません。 現在、プログラムを起動するところで詰まっています from subprocess import Popen p = Popen("絶対path") とすると外部プログラム(.exe)を実行できると思うのですが、これだと設定ファイルの読み込みに失敗してしまいます。pythonからではなく、コマンドプロンプトでカレントディレクトリをその外部プログラムのあるディレクトリに移動しプログラム名.exeとすれば実行できます。

  • Pythonのeasy_install のパス

    Pythonのeasy_install を利用するため、 まずez_setup.pyをダウンロードし、実行、 そしてC:\python27の下の階層にScriptsフォルダができている 事が確認できました。 (自分はPython 2.7を利用しています。) 次に、コンピュータ>環境変数について システムの環境変数のPathに ;C:\Python27;C:\Python27\Scripts と末尾につけました。 この動作を確認するため、 コマンドプロンプトを開き、pythonとだけ打ち込むことで pythonのパスは通っていることが確認できました。 しかし、そのあとpythonコマンドラインで >>> easy_install とすると、 NameError : name 'easy_install' is not defined. とでます。 (対話型環境でやっても同じでした(あたりまえ?)) 環境変数の変数名でPathのほかにも PYTHONPATHなどで入れてみても結果は変わらず・・・ 間違っている可能性があるのはどの部分でしょうか。 ご指摘いただけると助かります。 宜しくお願いします! 自分のPCはWindows 7 で64bitです。

  • Pythonのsqlについて

    Python初心者です。 データベースで添付のtest.csvを取り込んで、aap_name というテーブルを作成しました。 sql文で1990年〜1995年の数量と1kgあたりの単価を抽出して、リスト aap_listに入れる方法を教えて頂きたいです。ソースコードでよろしくお願いします。

  • コンソールアプリの入出力制御

    早速ですが、質問させていただきます。 現在、CUIのコンソールアプリケーションをキーボードの入力より、メニューの制御などを行っています。 コンソールアプリケーションは以下のようなメニュー・設定 などが表示され、それぞれ、キーボードより選択を行う形となっております。 ==== Menu ===== 1.test1 2.test2 3.test3 > テスト番号を入力してください: 上記のような入力がいたるところに存在し、大変手間となっております。 そこで、外部のソフトから、本コンソールアプリの入出力制御が出来ればと考えております。 この場合、バッチファイルなどでコンソールアプリへの制御が可能なのでしょうか?

  • 外部シンボル" ~~"は未解決ですというエラーが直らない

    VisualStdio2005で空のプロジェクトからコンソールアプリケーションを作成しています。 以下の三つのエラーが解決できなくて悩んでいます。 : error LNK2001: 外部シンボル "_name" は未解決です。 : error LNK2001: 外部シンボル "_teki" は未解決です。 : fatal error LNK1120: 外部参照 2 が未解決です。 nameとtekiはchar型の変数として宣言しています。 このエラーはどのようにいじれば解決するのでしょうか。 助けてください。