Python Microsoft Visual Studio 2019 Community PowerShell設定 新しいページはコチラ
提供: yonewiki
(→概要) |
|||
1行: | 1行: | ||
[[Python]]の記事へ戻る | [[Python]]の記事へ戻る | ||
== '''概要''' == | == '''概要''' == | ||
− | 正直、皆はまともにVisual | + | 正直、皆はまともにVisual StudioでAnacondaをうまく使えているのか?疑問に思う程、使いにくい設定方法であり、ある意味での問題。ある意味での不具合とも言える動き。でもVisual StudioのPytnon環境タブからのPowershell起動はこのPython環境を操作するためとは言っていない。Powershllを起動してやるから後のややこしいPythonを操作出来るまでの手順は自分でやれと言っているのかも知れない。冷たいっす。 |
67行: | 67行: | ||
<syntaxhighlight2 lang="python"> | <syntaxhighlight2 lang="python"> | ||
− | (& " | + | (& "C:\ProgramData\Anaconda3\Scripts\conda.exe" "shell.powershell" "hook") | Out-String | Invoke-Expression |
</syntaxhighlight2> | </syntaxhighlight2> | ||
98行: | 98行: | ||
− | (base)というプロンプトになったと思います。conda環境を制御できる状態です。conda環境=anacondaと考えてもよいと思います。この道を究めれば、その呼び方の違いの理解が進むと思います。極めている人は、またいい加減なこと言ってるなと思ったと思います。(base)表記は、環境を切り替えると(py38) | + | (base)というプロンプトになったと思います。conda環境を制御できる状態です。conda環境=anacondaと考えてもよいと思います。この道を究めれば、その呼び方の違いの理解が進むと思います。極めている人は、またいい加減なこと言ってるなと思ったと思います。(base)表記は、環境を切り替えると(py38)のようにもなります。無い状態では大したことは出来ないです。その変わり続けて違うシステムを使うとすると、(base)状態では、まずいこともあります。例えばanacondaにも含まれるrubyとかのシステムが別でインストールしている分が動かず、anacond側のあまりruby構築を意識していない方が呼ばれたりする。そんな感じです。その場合にはconda deactivateというコマンドで(base)が外れます。 |
141行: | 141行: | ||
*Set-ExecutionPolicy RemoteSigned -Scope CurrentUser | *Set-ExecutionPolicy RemoteSigned -Scope CurrentUser | ||
− | + | これを実行すれば権限を得ることが出来ます。RemoteSignedの部分は以下のようなものが選べます。 | |
+ | *AllSigned | ||
+ | :全ての権限を取得するわけではありません。通信を介する全てのスクリプト、およびローカルのスクリプトが署名付きで実行されなければならないとされています。opensslとかを使います。あまり実用的ではないです。 | ||
+ | *Bypass | ||
+ | :これが一番、強い権限を取得するといっても過言ではない。何にもチェックもしなければ警告もしない。ある意味危険な状態。権限を得るということは危険なことが出来るということ。 | ||
+ | *RemoteSigned | ||
+ | :これがよく使われる奴です。ローカルはなんでもよくて、通信を介するスクリプトは署名が必要。自分のPCにあるくらいだから安全でしょっていう奴です。ウィンドウズサーバの通常のポリシーです。 | ||
+ | *Restricted | ||
+ | :ウィンドウズクライアントの標準のポリシーです。スクリプトの実行はできません。 | ||
+ | *Undefineed | ||
+ | :他のユーザから設定された権限をクリアするものです。まずはRestrict状態に移行します。 | ||
+ | *Unrestricted | ||
+ | :制限を解除するものです。署名付きスクリプトの場合は内容を確認してから実行します。Windows以外のpowershellでの標準です。 | ||
+ | |||
+ | CurrentUserの部分は以下のものが選べます。 | ||
+ | *Process | ||
+ | :起動したPowershell内だけの権限変更になります。 | ||
+ | *CurrentUser | ||
+ | :自分自身に対しての変更 | ||
+ | *LocalMachine | ||
+ | :全ユーザに対しての変更 | ||
+ | |||
+ | <syntaxhighlight2 lang="python"> | ||
Set-ExecutionPolicy Restricted | Set-ExecutionPolicy Restricted | ||
+ | </syntaxhighlight2> | ||
権限は、上記のように戻すことも出来ます。緩めているとうっかり良くないコマンドを打つことはあるかもしれません。気になる人は、使う時にだけこまめにRemoteSignedという権限を得れば良いと思います。-Scopeの後ろは今使っている人にだけというものです。それ以上に必要はないと思います。この他にも権限状態はありますが、それは個別の違う案件で使ってみてください。RemoteSignedとCurrentUserの部分にいろいろなキーワードがあります。 | 権限は、上記のように戻すことも出来ます。緩めているとうっかり良くないコマンドを打つことはあるかもしれません。気になる人は、使う時にだけこまめにRemoteSignedという権限を得れば良いと思います。-Scopeの後ろは今使っている人にだけというものです。それ以上に必要はないと思います。この他にも権限状態はありますが、それは個別の違う案件で使ってみてください。RemoteSignedとCurrentUserの部分にいろいろなキーワードがあります。 | ||
+ | |||
+ | |||
+ | ここまでの知識を得た上でもう一度、AnacondaがPowershellを起動するときの引数を見てみると、更にBypassという権限で実行したいという感じで設定されていることが把握できると思います。 | ||
+ | |||
[[Python]]の記事へ戻る | [[Python]]の記事へ戻る |