Windows&VSCodeでAnaconda環境をフルで使う環境構築

前回の記事の後に、Anacondaをアンインストールした状態からの環境構築です。

https://qiita.com/shiganai/items/11537a0083f978e6821d

# 環境
* Windows11
* VSCode
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125845/9ac69f81-c8d4-ed36-1cef-2ae02d3d7e3e.png)

# 結論
1. AnacondaインストーラにPathを通してもらう
1. conda init powershellを回す
1. 生成された

# Anacondaのインストール

前回と違って今回はパスをインストーラに設定してもらう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125845/1aa1749f-3048-077b-a10f-516d79f6e28b.png)

# 仮想環境の構築
Anaconda Prompt上で
```
conda create --name env310 python=3.10 numpy
```
を回して、python3.10の仮想環境を構築。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125845/e894f840-5e85-41c4-99b7-4bcfa23c605e.png)

なお、`base`環境のpythonは3.9。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125845/40205614-7093-e088-d6ba-5236748a8730.png)


# 現状のVSCodeでできること

`conda`へのPathが通っているから、windowsスタートメニューから起動したVSCodeでも`conda`が実行できる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125845/4060e10b-4810-baae-2953-f0aa80e06fad.png)

ただし、`env310`環境に接続できるわけではない。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125845/e72adbb6-2064-197a-5aa5-cb9c0f256d5d.png)

# PowerShellでCondaを使うための設定
VSCode上のPowershellでもなんでも構わないが、
Powershell上で
```
conda init powershell
```
を回す。せっかくだからVSCode上で回した。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125845/deec1f46-2e5b-1c62-727f-dbac0c837e9b.png)

この状態で、右上の`+`ボタンで新しいterminal(Powershell)を起動すると、以下のエラーメッセージで怒られる。
```
. : このシステムではスクリプトの実行が無効になっているため、フ      
ァイル C:\Users\shiga\Documents\WindowsPowerShell\profile.ps1       
を読み込むことができません。詳細については、「about_Execution_P     
olicies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参      
照してください。
発生場所 行:1 文字:3
+ . 'C:\Users\shiga\Documents\WindowsPowerShell\profile.ps1'        
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~        
    + CategoryInfo          : セキュリティ エラー: (: ) []、PSS     
ecurityEx    ception
    + FullyQualifiedErrorId : UnauthorizedAccess
PS D:\python-test>
```
実際の画像。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125845/42a42e57-94f8-352f-261f-f60e8aa4a3b7.png)

これを回避するには、以下を回せばよい。
```
Set-ExecutionPolicy RemoteSigned -Scope Process
C:\Users\shiga\Documents\WindowsPowerShell\profile.ps1
```
すると見た目が完全にAnaconda promptのようになる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125845/0f69a3b5-5435-d03d-b8fb-785dcd3ee36e.png)

ただし、`-Scope Process`のオプションはこのターミナル上でだけ、ポリシーを甘くする、というものなので、新しいターミナルを開いた時にはまたエラーが起きる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125845/a163ae30-f51a-3a98-4aa5-8ddd5a45eb2f.png)

毎回ポリシーを変更して、profile.ps1をロードするのが面倒なら、Windows Poswershellを管理者権限で実行し、
```
Set-ExecutionPolicy RemoteSigned
```
を回す。参考サイトを見れば、いつでもこの変更は
```
Set-ExecutionPolicy Restricted
```
で元に戻せる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125845/d50375f0-c5fe-965c-1e7d-2e60e9013353.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125845/7aac46af-4684-0cbd-6e39-216857c637e6.png)

とりあえず、常にポリシーを甘くすると、以降開くターミナルでは常にcondaが使える状態になる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125845/e2dfb329-c17e-fbc5-8089-3811cd31669c.png)

パッケージのインストールでもなんでもござれ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125845/ab93da60-4736-f492-ff45-acfb00ac6606.png)


# 参考

https://minus9d.hatenablog.com/entry/2020/12/30/115637

https://qiita.com/ryu22e/items/520b35db6a444d8289da

https://solomon-review.net/windows10-powershell-policy/