回答:
OSGeo4Wによって配布されるQGISには、通常、独自のPythonインストールと、「通常の」Pythonインストールから独立した独自のパッケージが付属しています。
PythonパッケージをOSGeo4Wディストリビューションにインストールする最も簡単な方法は、OSGeo4Wシェルを開いてそこからpipを使用することです。これにより、QGISが使用するPythonディストリビューションにパッケージがインストールされ、私の場合はにC:\OSGeo4W64\apps\Python27\
あり、それに応じてモジュールがにありますC:\OSGeo4W64\apps\Python27\Lib\site-packages
。またpip list
、OSGeo4Wシェルと通常のWindowsシェル(cmd.exe)内で定期的に実行し、出力を比較して、不足しているパッケージを確認することもできます。
パッケージを2つのPythonインストールにインストールしたくない場合は、PythonPathを変更して、あるインストールから別のインストールにパッケージを含めることもできます。
編集:この回答は、WindowsのQGISで使用されるモジュールをインストールするためのpipに関する元の質問に向けられています。OPは質問を編集/改良したため、この回答は今や少し広範になりました。
Numpyは、デフォルトでQGIS(スタンドアロンバージョン、OSGeo4Wバージョン)にインストールされます。rasterio、多くの問題があります。rasterioは強力で使いやすいことは知っています(私はそれを使用しています)が、なぜPyQGISのすべての機能を持っているのにQGISプラグインでrasterioを使用するのですか?(Pythonシェルまたはスクリプト用に設計されたもので、QGIS / PyQGISで使用されるのではなく、シェープファイルのFionaとして使用されます)
LinuxまたはMac OS X(Unixシステム)では、QGISは標準のPythonインストール(QGISに依存しない)を使用し、Pythonモジュールのインストールまたはアップグレードが簡単な場合(デフォルトで多くのコンパイラもインストールされます)
Windowsでは、Pythonはデフォルトではインストールされず、QGISは独自のバージョンをインストールします。純粋なPythonモジュール(C、C ++ライブラリなし)をインストールするには、ソリューションがあります(QGISスタンドアロンおよびPythonモジュール、OSGeo4W PythonへのPython setuptoolsのインストール、またはOSGeo4W用のPySALのインストール)
ただし、コンパイルする必要があるモジュール(デフォルトではコンパイラーなし)の場合、簡単ではありません。QGIS Python site_folderにインストールしたモジュールをコピー/貼り付けできますが、問題があります。
Rasterioは、インストールされたGDALライブラリに対してコンパイルする必要があります。たとえば、Python拡張パッケージ用のChristoph Gohlke非公式Windowsバイナリからインストールする場合、QGISで使用されるGDALのバージョンが同じかどうかはわかりません( dllライブラリ)
numpyとrasterioのみを使用する場合、独立したスクリプトを使用しないのはなぜですか?
Qgis 2.18.28のpython 2.7.14コンソール内から、これはうまくいきます。絶対Pythonパスでプロンプトを使用する必要がなくなります。
import subprocess
subprocess.check_call(['python', '-m', 'pip', 'install', 'openpyxl'])
pip開発者によると、pip.mainまたはpip._internal.mainはサポートされていません。https://pip.pypa.io/en/stable/user_guide/#using-pip-from-your-program 推奨されるsys.executableを 'python'に変更しました。Qgisではqgis自体であるためです。
python -m pip install wheel setuptools c:\path\to\rasterio-<ver>-win_amd64.whl