1. ホーム
  2. python

[解決済み] venvのアクティベーションでパーミッションが拒否される

2022-09-01 07:57:43

質問

新しい Python プロジェクトを開始し、プロジェクトフォルダ内に venv を作成するために、以下のコマンドを実行しました。 virtualenv venv をターミナルで実行してプロジェクトフォルダ内にvenvを作成しました。しかし venv/bin/activate を実行すると、permission deniedエラーが発生します。

私は試しました

sudo chown -R user:user project/venv

と表示されますが

chown: user: illegal group name

私はこれらのvenvを何度もセットアップしていますが、問題は一度も発生していません。他に何か試せることはありますか?

私は Mac を使用しています。

どのように解決するのですか?

次のコマンドを実行する必要があります。

. venv/bin/activate

または

source venv/bin/activate

activate ファイルはソースが必要なため、意図的に実行可能ではありません。

環境に変更を加える必要があるため、ソースが必要です。スクリプトとして実行された場合、スクリプトを実行するために使用された子プロセスの環境にのみ変更を加えます。

コメントで誰かが . コマンドについて質問しました。から のマニュアルページで、bash の :

    .  filename [arguments]
   source filename [arguments]
          Read  and execute commands from filename in the current shell
          environment and return the exit status of the last command
          executed from filename.

要するに . と同じ意味を持つシェルビルトインです。 source と同じ意味です。