sync notes(auto)

This commit is contained in:
Kaz Saita(raspi5) 2024-05-01 11:00:25 +09:00
parent 5adf396634
commit 61b42f722b
2 changed files with 4 additions and 3 deletions

View file

@ -1,8 +1,9 @@
# 20240311135526 pip installでerror externally-managed-environment # 20240311135526 pip installでerror externally-managed-environment
#python #linux #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 To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to python3-xyz, where xyz is the package you are trying to

View file

@ -42,7 +42,7 @@ int main(void)
``` ```
画面に表示されるのは`0`になる。`f1()`の中で、 `int a`を再度定義しているが、それは `f1()`内部のみで有効であり、呼びだされた関数`f2()`では有効ではない。これがレキシカルスコープ。 画面に表示されるのは`0`になる。`f1()`の中で、 `int a`を再度定義しているが、それは `f1()`内部のみで有効であり、呼びだされた関数`f2()`では有効ではない。これがレキシカルスコープ。
ここで、`f1()`で定義した`int a`を`f2()`でも、(この書きかただと)参照できてしまうのが、ダイナミックスコープ。 ここで、`f1()`で定義した`int a`を`f2()`でも、この書きかただと、`f1()`を通過しているゆえ、参照できてしまうのが、ダイナミックスコープ。
その場合、画面には`1`が表示される(実際に試すことはできないけど)。 その場合、画面には`1`が表示される(実際に試すことはできないけど)。
レキシカルスコープの言語では、変数名とその参照先は一意に決まる。実行された状況などに左右されない。ここでいう一意というのは、「同じ名前の変数が色々定義されてた場合、そのうちのどれ?」というのが(つまり、環境フレームが)一意という意味であって、その中身は実行された状況に左右されない、というわけではない。 レキシカルスコープの言語では、変数名とその参照先は一意に決まる。実行された状況などに左右されない。ここでいう一意というのは、「同じ名前の変数が色々定義されてた場合、そのうちのどれ?」というのが(つまり、環境フレームが)一意という意味であって、その中身は実行された状況に左右されない、というわけではない。