oss-gate/workshop

OSS Gate Workshop: ゆるい勉強会旭川: 2024-07-28: otoyuzu705: python-dotenv: Work log

otoyuzu705 opened this issue · 14 comments

This is a work log of a "OSS Gate workshop".
"OSS Gate workshop" is an activity to increase OSS developers.
Here's been discussed in Japanese. Thanks.

作業ログ作成時の説明

以下のテンプレートを埋めてタイトルに設定します。埋め方例はスクロールすると見えてきます。

OSS Gate Workshop: ${LOCATION}: ${YEAR}-${MONTH}-${DAY}: ${ACCOUNT_NAME}: ${OSS_NAME}: Work log

タイトル例↓:

OSS Gate Workshop: Tokyo: 2017-01-16: kou: Rabbit: Work log

OSS Gateワークショップ関連情報

  • スライド:ワークショップの進行に使っているスライドがあります。
  • チャット:OSS開発に関することならなんでも相談できます。ワークショップが終わった後もオンラインで相談しながら継続的にOSSの開発に参加しましょう!
  • シナリオ:ワークショップの目的・内容・進め方の詳細が書いています。
  • 過去のビギナーの作業ログ:他の人の作業ログから学べることがいろいろあるはずです。

venvで環境を構築

wsl2
python: 3.10.12
shell: fish

python3 -m venv venv
. venv/bin/activate.fish

プロジェクトをクローンしドキュメントに従いテストを実行
テストを正常に実行できた

テスト実行方法
https://github.com/theskumar/python-dotenv/blob/main/CONTRIBUTING.md

git clone https://github.com/theskumar/python-dotenv
cd ./python-dotenv
pip install -r requirements.txt
pip install -e .
flake8
pytest

pytest

============================ test session starts ============================
platform linux -- Python 3.10.12, pytest-8.3.2, pluggy-1.5.0
rootdir: /home/otoyuzu/working/ossgate/python-dotenv
configfile: setup.cfg
testpaths: tests
plugins: cov-5.0.0
collected 152 items

tests/test_cli.py .....................................               [ 24%]
tests/test_ipython.py ...                                             [ 26%]
tests/test_main.py .................................................. [ 59%]
..........                                                            [ 65%]
tests/test_parser.py ...........................................      [ 94%]
tests/test_utils.py .                                                 [ 94%]
tests/test_variables.py ......                                        [ 98%]
tests/test_zip_imports.py ..                                          [100%]

============================ 152 passed in 0.98s ============================

実際に動かし確認

確認用の.envファイルを作成

TESTVALUE=foo

_get_stream()でエラーが起きているので_getstreamを呼ぶparse()を実行

from dotenv.main import DotEnv

dotenv = DotEnv("./.env")

print(list(dotenv.parse()))

エラーは起きなかった

pythonバージョンを3.11に変更

python3.11で行ったがエラーは起こらなかった

以下の手順で動作確認をしましたが再現できませんでした.
Ubuntu 20.04
python3.11

$ ulimit -n
1024

.env

TESTVALUE=foo

parseメソッドは_get_stramメソッドを利用しているのでparseメソッドを試しました.
https://github.com/theskumar/python-dotenv/blob/4d505f2c9bc3569791e64bca0f2e4300f43df0e0/src/dotenv/main.py#L82

main.py

from dotenv.main import DotEnv

dotenv = DotEnv("./.env")

print(list(dotenv.parse()))

I have checked the following methods and no error occurred.
Ubuntu 20.04
python3.11

$ ulimit -n
1024

.env

TESTVALUE=foo

I tried the parse method because the parse method uses the _get_stream method.

main.py

from dotenv.main import DotEnv

dotenv = DotEnv("./.env")

print(list(dotenv.parse()))

おつかれさまでした!

ワークショップの終了にともないissueを閉じますが、このまま作業メモとして使っても構いません 👌

ワークショップの感想を集めています!

ブログなどに書かれた際は、このページへリンクの追加をお願いします 🙏

またの参加をお待ちしています!