Noxで環境変数を消してコマンドを実行するにはどうしたら良いか?
既存の環境変数を上書き指定するならsession.run(env={'FOO': 'bar'})が使えますが削除はできません。session.run(env={'FOO': None})はエラーになります。
またos.environで消しても効果はありません。コマンド実行時に適用される環境変数はsessionの中に保存されているためです。
sessionの中に保存されている環境変数を直接操作することで、実行時に適用される環境変数を、削除も含めて自由に編集できるようです。
@nox.session
def good(session):
"""環境変数FOOを削除してコマンドを実行。"""
session.env.pop('FOO', None)
session.run('/usr/bin/printenv', external=True)