4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Pythonの開発環境を構築して日の出日の入り時刻の計算をしてみた

Posted at

Windowsにおける実行環境の構築

ますWindowsにおけるPythonの実行環境の構築は以前の記事で行っております。
WindowsにPythonをインストールするだけです。

ライブラリの管理

Pythonには実に多くの有用なライブラリが用意されており、是非ともそのライブラリの機能を使いたいです。
Pythonをインストールした直後の実行環境にはライブラリまで準備されていないため、必要なライブラリを別途インストールして使うことになります。
このライブラリを直接Pythonの実行環境にインストールして使用することも可能ですが、この実行環境はそのプラットフォーム上のすべてのプログラムの共有の環境になるので、プログラムを作るたびにインストールされるライブラリがどんどん増えていくことになります。


  • プログラムAでは必要なライブラリはプログラムBでは不必要
  • プログラムAとプログラムBではライブラリのバージョンを変えたい
  • プログラムAで使っていたライブラリが不必要になったけど、他のプログラムで使ってるかもしれないから消せない

など、プログラムの数が増えていくと、こうした管理が大変ですね。
これらを便利に管理できる仮想環境というものがPython3.3で追加されました。
この仮想環境は、Pythonのプログラムを違うPCでも同じ環境で動かしたい、複数人で開発作業を同じPython環境で行いたい等、同じPythonの実行環境を構築したい場合にも便利です。

仮想環境の作成

Pythonの仮想環境はとても簡単に作成できます。
Powershell(管理者で実行)でPythonのソースコードファイルを置く任意のディレクトリを開き、下記手順を実行するだけで仮想環境を構築できます。

1. 仮想環境の作成

PS > py -m venv .venv

.venvというディレクトリが作成されたか確認します。

2.仮想環境上でPythonプログラムを実行する準備

PS > .\.venv\Scripts\Activate
(.venv) PS > 

先頭に(.venv)という表示がされたら成功です。
これが表示されていたら、Pythonプログラムは仮想環境上での実行になります。

※セキュリティーエラーが出た場合には、先に下記コマンドを実行して、実行ポリシーを変更してください。
PS > Set-ExecutionPolicy RemoteSigned

仮想環境にライブラリをインストール

今回はephemというライブラリを使いたいので、ephemをインストールします。
こちらはPyEphemというライブラリで、天文分野のライブラリになります。
ライブラリのインストール手段は2種類あります。

1. ライブラリを直接インストール

(.venv) PS > py -m pip install ephem

2. requirement.txtに必要なライブラリを記述してインストール

requirement.txt
ephem
(.venv) PS > py -m pip install -r requirement.txt

requirement.txtを作って必要なライブラリを記述しておくことによって、今後の管理や複数人での開発環境の統一が簡単にできます。

3. インストールしたライブラリを使用する

PyEphemを使用して、静岡県富士市における日の出と日の入りの時刻を計算するサンプルです。

python ephem_sample.py
import ephem
import datetime

# 静岡県富士市の緯度経度
shizuoka = ephem.Observer()
shizuoka.lat = '35.1613985'
shizuoka.lon = '138.6762728'

# 例えば、2022年12月15日を指定
shizuoka.date = datetime.datetime(year=2022, month=12, day=15)
sun = ephem.Sun()
# 日の出時刻を表示
print(ephem.localtime(shizuoka.previous_rising(sun)))
# 日の入り時刻を表示
print(ephem.localtime(shizuoka.next_setting(sun)))

実行結果

(.venv) PS > py ephem_sample.py
2022-12-15 06:45:35.297309
2022-12-15 16:34:42.970086

めちゃくちゃ簡単でした。
このライブラリ、天体の軌道計算や日食、月食などの計算も行えるようです。

おわりに

Pythonは開発環境の構築や実装が、他の言語よりも比較的簡単に行える印象です。
豊富なライブラリも用意されていますので、まずは気軽に始めてみるのはオススメです。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?