diff --git a/content/20240311135526 pip installでerror externally-managed-environment.md b/content/20240311135526 pip installでerror externally-managed-environment.md index 4f537ff..406e036 100644 --- a/content/20240311135526 pip installでerror externally-managed-environment.md +++ b/content/20240311135526 pip installでerror externally-managed-environment.md @@ -1,8 +1,9 @@ # 20240311135526 pip installでerror externally-managed-environment #python #linux -windowsやmacでは関係ないのかもしれない。 -PEP 668で「OSで使う重要なpythonに安易にpip install できてしまい、aptなどのOSでのソフト管理の外からいじれるのはよろしくない」ということになった。そのため、従来の `pip install` でライブラリをインストールする記事などは、適宜読みかえが必要。 エラーメッセージに書いてあるように、 python3-[パッケージ名] という名前でOS管理のパッケージがあることが多い。 +(windowsやmacでは関係ないのかもしれない) + +PEP 668で「OSで使う重要なpythonに、安易にpip install でき、aptなどのOSでのソフト管理の外からいじれるのはよろしくない」ということになった。そのため、従来の `pip install` でライブラリをインストールする記事などは、適宜読みかえが必要。 エラーメッセージに書いてあるように、 python3-[パッケージ名] という名前でOS管理のパッケージがあることが多い。 ``` To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to diff --git a/content/20240428125606 ダイナミックスコープ レキシカルスコープ.md b/content/20240428125606 ダイナミックスコープ レキシカルスコープ.md index 971a845..1b238d2 100644 --- a/content/20240428125606 ダイナミックスコープ レキシカルスコープ.md +++ b/content/20240428125606 ダイナミックスコープ レキシカルスコープ.md @@ -42,7 +42,7 @@ int main(void) ``` 画面に表示されるのは`0`になる。`f1()`の中で、 `int a`を再度定義しているが、それは `f1()`内部のみで有効であり、呼びだされた関数`f2()`では有効ではない。これがレキシカルスコープ。 -ここで、`f1()`で定義した`int a`を`f2()`でも、(この書きかただと)参照できてしまうのが、ダイナミックスコープ。 +ここで、`f1()`で定義した`int a`を`f2()`でも、この書きかただと、`f1()`を通過しているゆえ、参照できてしまうのが、ダイナミックスコープ。 その場合、画面には`1`が表示される(実際に試すことはできないけど)。 レキシカルスコープの言語では、変数名とその参照先は一意に決まる。実行された状況などに左右されない。ここでいう一意というのは、「同じ名前の変数が色々定義されてた場合、そのうちのどれ?」というのが(つまり、環境フレームが)一意という意味であって、その中身は実行された状況に左右されない、というわけではない。