IntelliJ Python¶
JetBrains社が提供するIntelliJ IDEAベースのPython開発環境 PyCharm (またはIntelliJ IDEAにPythonプラグインを追加)についての利用メモです。
新規プロジェクト作成¶
まず、Pythonプロジェクトの作成をします。ここでは、Pythonのvenv機能を使ったプロジェクトの作成について記載します。
macOS上でIntelliJ IDEAの場合¶
[ファイル] > [新規] > [プロジェクト]をクリック、新規プロジェクトを開きます(下図)。
左ペインで[Python]を選択、右ペインで 名前欄にプロジェクトのディレクトリ名を、場所欄にプロジェクトディレクトリを作成する親ディレクトリ名を指定、環境タイプ欄に Virtualenv を選択します。すると、場所欄の最後にデフォルトでは.venv
ディレクトリが付与されますが、ここをvenv
に変更します。これは好みの問題ですが、ターミナル操作を多用する時、.venvは隠しフォルダになるので変更しています。
基本インタープリターに使用したいPythonインタプリターがない場合、右端の[...]をクリックし、使用するPythonインタプリターを指定します(下図)。
HomebrewでPythonをインストールしている場合、/opt/homebrew/bin ディレクトリを開くと、そこに置かれている Pythonインタプリターが選択できます。
既存ソースからプロジェクト作成¶
Github等から、既存のPythonソースコードを入手してIntelliJのプロジェクトを作成する方法です。
Windows上のIntelliJ IDEA¶
[File] > [Open]メニューから、cloneしたディレクトリを開きます。
この時点では、venv環境が構築されておらず、Pythonソースコードを開いてもimportパッケージがないエラー、Python SDKが未設定のエラーなどが生じます。
- [File] > [Project Structure...]をクリックし「Project Structure」画面を開く
- 左ペインで [Platform Settings] > [SDKs] を選択、中ペインで [+]をクリックし、[Add Ptyhon SDK from disk]を選択
- [New environment]を選択(デフォルト)し、「Add Python Interpreter」画面を開く
- 左ペインで[Virtualenv Environment]を選択(デフォルト)、右ペインで [New environment]ラジオボタンを選択(デフォルト)、[Base interpriter]欄で、インストールされているPythonの使いたいバージョンを選択
これで、開いたプロジェクトに venv 環境が設定されます。
後は、ソースファイルを開いて、import しているライブラリが venv にまだ入っていないので、エラー是正の操作でライブラリをインストールします。
Python開発プロジェクトの始め方¶
Python インタプリターの設定¶
システムインタープリター¶
OSにインストールされているPythonインタプリターを設定します。
venvにPythonインタプリターを構築¶
画面右下の[No interpreter]を選択し(Pythonインタプリターが未定義の場合)、Add New Interpreter > Add Local Interpreterをクリックします。
「Add Python Interpreter」画面で、左ペインに[Virtualenv Environment]を選択、右側でLocationとBase interpreterを指定します。
外部ライブラリの導入¶
IntelliJ IDEA + Python Pluginの場合¶
プロジェクトを作成後、
- Fileメニュー > Project Structure で「Project Structure」画面を開き、左ペインで Platform Settings > SDKsを選択、中ペインで対象プロジェクトのPython環境を選択、右ペインでPackageタブを選択
- [+]を押すと、外部ライブラリの選択画面が表示されるので、インストールしたいライブラリを選択
- インストールすると、ライブラリが追加
PyCharmの場合¶
- Fileメニュー > Settingsで「Settings」画面を開き、左ペインで Project: <現在開いているプロジェクト名> > Python Interpreterを選択、右ペインで[+]を押す
この後は、IntelliJ IDEA + Python pluginと同じです。