sync notes(auto)
This commit is contained in:
parent
5adf396634
commit
61b42f722b
2 changed files with 4 additions and 3 deletions
|
@ -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
|
||||||
|
|
|
@ -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`が表示される(実際に試すことはできないけど)。
|
||||||
|
|
||||||
レキシカルスコープの言語では、変数名とその参照先は一意に決まる。実行された状況などに左右されない。ここでいう一意というのは、「同じ名前の変数が色々定義されてた場合、そのうちのどれ?」というのが(つまり、環境フレームが)一意という意味であって、その中身は実行された状況に左右されない、というわけではない。
|
レキシカルスコープの言語では、変数名とその参照先は一意に決まる。実行された状況などに左右されない。ここでいう一意というのは、「同じ名前の変数が色々定義されてた場合、そのうちのどれ?」というのが(つまり、環境フレームが)一意という意味であって、その中身は実行された状況に左右されない、というわけではない。
|
||||||
|
|
Loading…
Reference in a new issue