Python Anacondaインストール後の設定

提供:yonewiki

Pythonに戻る。

概要

 Anacondaインストール後、Anaconda Prompt(Anaconda3)でいくつか作業をしなさいと公式の手順書にあったのでやってみたのですが、エラーが出ましたのでその記録とインストール後に実施するべきことを記録したものです。


 Powershellを使うときに以下のようなエラーが出る時があるそうです。


. : このシステムではスクリプトの実行が無効になっているため、ファイル
C:\Users\…\Documents\WindowsPowerShell\profile.ps1 を読み込むこと
ができません。詳細については、「about_Execution_Policies」
(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。

発生場所 行:1 文字:3
. 'C:\Users\…\Documents\WindowsPowerShell\profile.ps1'
~~~~~~~~~~~~~~~
+ CategoryInfo          : セキュリティ エラー: (: ) []、PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess


 その場合は


(base) … >Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

 を一度だけ実行すると良いそうです。その後はずっと問題は発生しないそうです。


(base) … >Get-ExecutionPolicy -List


 でCurrentUserの状態がRemoteSignedになっている変化を確認できます。

 

重要なエラー

 以下のようなコマンドを実行する必要があります。

(base) … >conda init


 すると以下のようなエラーが発生しました。


(base) … >conda init
…Error…
no change     C:\ProgramData\Anaconda3\Scripts\conda.exe
no change     C:\ProgramData\Anaconda3\Scripts\conda-env.exe
no change     C:\ProgramData\Anaconda3\Scripts\conda-script.py
no change     C:\ProgramData\Anaconda3\Scripts\conda-env-script.py
no change     C:\ProgramData\Anaconda3\condabin\conda.bat
no change     C:\ProgramData\Anaconda3\Library\bin\conda.bat
no change     C:\ProgramData\Anaconda3\condabin\_conda_activate.bat
no change     C:\ProgramData\Anaconda3\condabin\rename_tmp.bat
no change     C:\ProgramData\Anaconda3\condabin\conda_auto_activate.bat
no change     C:\ProgramData\Anaconda3\condabin\conda_hook.bat
no change     C:\ProgramData\Anaconda3\Scripts\activate.bat
no change     C:\ProgramData\Anaconda3\condabin\activate.bat
no change     C:\ProgramData\Anaconda3\condabin\deactivate.bat
needs sudo      C:\ProgramData\Anaconda3\Scripts\activate
needs sudo      C:\ProgramData\Anaconda3\Scripts\deactivate
needs sudo      C:\ProgramData\Anaconda3\etc\profile.d\conda.sh
needs sudo      C:\ProgramData\Anaconda3\etc\fish\conf.d\conda.fish
no change     C:\ProgramData\Anaconda3\shell\condabin\Conda.psm1
needs sudo      C:\ProgramData\Anaconda3\shell\condabin\conda-hook.ps1
no change     C:\ProgramData\Anaconda3\Lib\site-packages\xontrib\conda.xsh
needs sudo      C:\ProgramData\Anaconda3\etc\profile.d\conda.csh
no change     C:\Users\speci\Documents\WindowsPowerShell\profile.ps1
no change     HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

No action taken.
Operation failed.


対策

 読んで字のごとくです。管理者権限が必要といっている行があるためエラーになっているようです。したがって、


  • [StartMenu]-[Anaconda3(64bit)]-[Anaconda Prompt (Anaconda3)]を右クリックして表示されるコンテクストメニューの[その他]-[管理者として実行]から起動して


(base) … >conda init
…Error…
no change     C:\ProgramData\Anaconda3\Scripts\conda.exe
no change     C:\ProgramData\Anaconda3\Scripts\conda-env.exe
no change     C:\ProgramData\Anaconda3\Scripts\conda-script.py
no change     C:\ProgramData\Anaconda3\Scripts\conda-env-script.py
no change     C:\ProgramData\Anaconda3\condabin\conda.bat
no change     C:\ProgramData\Anaconda3\Library\bin\conda.bat
no change     C:\ProgramData\Anaconda3\condabin\_conda_activate.bat
no change     C:\ProgramData\Anaconda3\condabin\rename_tmp.bat
no change     C:\ProgramData\Anaconda3\condabin\conda_auto_activate.bat
no change     C:\ProgramData\Anaconda3\condabin\conda_hook.bat
no change     C:\ProgramData\Anaconda3\Scripts\activate.bat
no change     C:\ProgramData\Anaconda3\condabin\activate.bat
no change     C:\ProgramData\Anaconda3\condabin\deactivate.bat
modify      C:\ProgramData\Anaconda3\Scripts\activate
modify      C:\ProgramData\Anaconda3\Scripts\deactivate
modify      C:\ProgramData\Anaconda3\etc\profile.d\conda.sh
modify      C:\ProgramData\Anaconda3\etc\fish\conf.d\conda.fish
no change     C:\ProgramData\Anaconda3\shell\condabin\Conda.psm1
modify      C:\ProgramData\Anaconda3\shell\condabin\conda-hook.ps1
no change     C:\ProgramData\Anaconda3\Lib\site-packages\xontrib\conda.xsh
modify      C:\ProgramData\Anaconda3\etc\profile.d\conda.csh
no change     C:\Users\speci\Documents\WindowsPowerShell\profile.ps1
no change     HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

==> For changes to take effect, close and re-open your current shell. <==


 のように動作するようになります。基本的にPowershellとCommandPromptを使うときは管理者として実行した方が良いでしょう。


VisualStudioのcl.exeコマンドなどを使うには

 AnacondaプロンプトからVisual Studioのコマンドラインビルドツールを使うには以下のように実行するとよいでしょう。必要となる場合もあるそうです。毎回実行しといてもいいくらいなので、C:\ProgramData\anaconda3\Scripts\activate.batに組み込んでもいいですね。

CALL "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat"


組み込む場合は、まずactivate.batを右クリックしてプロパティを表示して、セキュリティタブから現在使用しているユーザの権限を追加してから23行目あたりを以下のようにして


…

:: This may work if there are spaces in anything in %*
@CALL "%~dp0..\condabin\conda.bat" activate %*
@CALL "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat"

:CLEANUP
…


とするとよいと思います。VsDevCmd.bat自体は2024年11月時点では引数を受け取らないバッチファイルなので単純に起動するだけで大丈夫です。

 

Pythonに戻る。