LoginSignup
1
0

More than 3 years have passed since last update.

VSCode+venv環境構築でつまったところ

Posted at

概要

VSCodeとvenvでPython仮想環境を作るとき、Powershellやらpipやらでいろいろつまったところがあったので、整理しました。具体的なトピックは、

  • Powershellのアクセス権限関係
  • pip installでうまくいかない

です。

序論

Pythonで開発するにあたって、今までは仮想環境を立てずにやってきました。  
しかし最近の作業で、pipでインストールするパッケージのバージョンを上げたり下げたりする必要が出てきました。
そこで仮想環境デビューすることに決めました。

環境

OS:Windows10
Python:3.7.3 (32bit)
テキストエディタ:Visual Studio Code
仮想環境:venv

作業内容

https://hachian.com/2019/09/19/vscode_venv/
を参考に進めました。

仮想環境のアクティベートがうまくいかない

理想としては、仮想環境を立てるフォルダをVSCodeで開いたときに、スムーズに仮想環境を起動したいです。
仮想環境のアクティベート(起動)には、Scripts 内の activate.ps1 を実行する必要がありますが、これをPowershellで直接していすると、

.\Activate.ps1 : このシステムではスクリプトの実行が無効になっているため、 
 C:~Activate.ps1を読み込むことができません。

とエラー文が出ます。
どうやらPowershellでスクリプトを実行するには、Powershell起動時に管理者として実行しなければいけないらしいです。しかし今回はVSCodeに付属したターミナルでPowershellを起動しているので、管理者として実行するのは無理そう。。。

解決策

このサイトが参考になりました。
https://attakei.net/blog/2019/windows-vscode-venv/index.html
VScodeでフォルダを開いたときには、そのフォルダ内の.vscodeフォルダ内にあるsetting.jsonを読み込んでいろいろ設定することができるらしいです。(無知)
以下をsetting.jsonに追加します。すでにsetting.jsonに何かしら書かれている場合は、既存の文末に,を打って改行した下に書きます(JSONファイルの書き方)。

{
  "terminal.integrated.env.windows": {
    "PSExecutionPolicyPreference": "RemoteSigned"
  }
}

これでアクティベートを問題なく行うことができます。

pip installができない

numpy や pandasはインストールできるのに、tensorflowがインストールできませんでした。以下のエラーが出てきます。

ERROR: Could not find a version that satisfies the requirement tensorflow (from versions: none)
ERROR: No matching distribution found for tensorflow

調べるとよくあるエラーらしいです。調べると、pipのバージョンが古いとダメなことがあるようです。しかし私の環境のpipは最新。
そこで以下のサイトで説明があるように、whlファイルのURLを直接指定してインストールを試みました。
https://sukota.hatenablog.com/entry/2018/10/24/160521
URLにある数字がPythonやパッケージ自体のバージョンを意味しているんですね。一応PyPIで本当に存在するものか確認後、pipで入れようとしたところ、

ERROR: tensorflow_gpu-2.2.0-cp37-cp37m-win_amd64.whl is not a supported wheel on this platform.

なるほど。私はここで諦めました。

後で気が付いたのですが、Pythonが32bitバージョンでした。公式HPからインストールするとデフォルトは64bitのOSでも32bitのPythonが入るらしいです。おそらく64bit版にしたらこれらのパッケージを受け付けてくれるんじゃないでしょうか。(Pytorchも同じエラー文で入れられませんでした)
64bit版にしたあとの状況も、追記しようと思います。

まとめ

PowershellさんはWindowsのシステム自体がさわるもので、手でコマンドを打つならGit bashがいいです。なんたってgit clone ができる(当然)。
あとPythonは64bit版にします。怖いんで今やってる開発がひと段落したら。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0