Movatterモバイル変換


[0]ホーム

URL:


BLOGTIMES

cles::blog

平常心是道
« :: »
2019/12/26

Windows 10 で Pyenv + Pipenv 環境を作る

  windows10  python  tutorial  powershell 
このエントリーをはてなブックマークに追加

Windows 10 上でPyenv + Pipenv 環境を構築してみたのでメモ。
Linux と違ってあれこれ手動でやらなければならないことが多いので、なるべくコマンドラインから実行でできるようにまとめました。

pyenv-win のインストール

Windows 上で Pyenv を使うためにはpyenv-win を使います。

基本的には Linxux の pyenv と一緒ですが、Python はソースからではなく Windows 用のインストーラで導入されます。
このため、

  • インストール中に GUI のインストールボタンを押す必要がある
  • アンインストールはコントロールパネルのプログラムと機能から行なう必要がある

ことに注意が必要です。

導入方法はサイトに解説されているとおりで、アップデートを考えると git を使う方が楽ですが、開発用のツールが何も入っていないすっぴんの Windows を対象にする場合には zip で入れるのが一番楽な方法になります。具体的には以下のコマンドを PowerShell で実行すればすんなり導入できるはずです。

# Download/Setup pyenvSet-Location $env:USERPROFILEInvoke-WebRequest -Uri https://github.com/pyenv-win/pyenv-win/archive/master.zip -OutFile master.zipExpand-Archive -Path master.zip -DestinationPath $env:USERPROFILERename-Item -path pyenv-win-master -newName .pyenv# Update pyenv-insatallInvoke-WebRequest -Uri https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/libexec/pyenv-install.vbs -OutFile $env:USERPROFILE\.pyenv\pyenv-win\libexec\pyenv-install.vbs# Add environment variables # (If you add "/M" at the end of line, it will be added to system environment variables.)SETX PYENV "$env:USERPROFILE\.pyenv\pyenv-win"SETX PATH "%PYENV%\bin;%PYENV%\shims;%PATH%;"SETX PIPENV_VENV_IN_PROJECT 1

Python と pipenv のインストール

続いて Pyton と pipenv を入れていきます。
このあたりは別段、Linux の時と変わりありませんね。

# Install python and pipenvpyenv install 3.7.5-amd64pyenv global 3.7.5-amd64pyenv rehashpython -m pip install --upgrade pippip install pipenvpyenv rehash

pipenv を使おうとするとエラーが出るので・・・・

Python と pipenv が導入できたので、さっそく使い始めたいところですが、pipenv でプロジェクトを初期化しようとすると、以下のようなエラーが出てしまいます。

・・・・・・・・・・・・・・・・・・・・ File "c:\users\h\.pyenv\pyenv-win\versions\3.7.5-amd64\lib\site-packages\pipenv\vendor\shellingham\nt.py", line 78, in _iter_process info = {'executable': str(pe.szExeFile.decode('utf-8'))}UnicodeDecodeError: 'utf-8' codec can't decode byte 0x95 in position 0: invalid start byte

この症状については、どうやら「The Python Dependency Tool · Ka's Blog」の内容と同じようなので、nt.py を以下のように書き換えてやると修正することができます。

info = {'executable': str(pe.szExeFile.decode('utf-8'))}
info = {'executable': str(pe.szExeFile.decode('utf-8', errors='ignore'))}

これもいちいちやるのが面倒なので、PowerShell から以下のコマンドを叩けば nt.py を自動的に探して修正を行なうようにしてみました。

$ntpy = (python -c "import site; from glob import glob; path = '\\pipenv\\vendor\\shellingham\\nt.py'; print(list(map(lambda x: x+path, list(filter(lambda x: glob(x+path), site.getsitepackages()))))[0])")$contents = $(Get-Content $ntpy) -replace "'utf-8'","'utf-8', errors='ignore'"$contents | Out-String | % { [Text.Encoding]::UTF8.GetBytes($_) } | Set-Content -Path $ntpy -Encoding Byte

ついでに C のコンパイラも入れておく

モジュールによってはコンパイラがないと行けない場合もあるので、Visual Studio 2019 for Windows および Mac のダウンロード からBuild Tools for Visual Studio 2019 をダウンロードして入れておくと良いと思います。

これで、Windows でも Pyenv + Pipenv の快適な環境を満喫できます。


    byhsur at 21:38[5年前][4年前][3年前][2年前][1年前][1年後][2年後][3年後][4年後][5年後] |
    こんな記事もあります 「Windows 10 Pipenv
    2024 年の人気エントリ Top 100
    アーロンチェアのポスチャーフィットを修理
    福岡銀がデマの投稿者への刑事告訴を検討中
    ローマ字表記のルールが変わる?
    2024 年度からの科研費のテーマが採択に
    2023 年分の確定申告完了!(1つめ)
    FIGlet で AA (アスキーアート) を出力
    Celestica Seastone DX010 という 100GbE スイッチを手にいれた
    アーロンチェアにもう1箇所不具合を発見
    政府が母子手帳をデジタル化へ
    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/11446
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL:Yahoo! JAPAN IDでログイン

    « :: »
    Copyright © 2004-2023 by CLES All Rights Reserved.
    サイト内検索
    検索ワードランキング
    へぇが多いエントリ
    閲覧数が多いエントリ
    1 .アーロンチェアのポスチャーフィットを修理(99698)
    2 .年次の人間ドックへ(99106)
    3 .福岡銀がデマの投稿者への刑事告訴を検討中(99099)
    4 .三菱鉛筆がラミーを買収(98706)
    5 .2023 年分の確定申告完了!(1つめ)(98677)
    最新のエントリ
    cles::blogについて
    誰が書いてる?
    最近行った場所
    サイトポリシー
    タグ一覧
    検索ワードランキング

    Referrers

      Powered by CLES
      Nucleus CMS v3.31SP3/w memcached
      21376593(W:7218 Y:1720 T:0692)
      cles::blogのはてなブックマーク数
      benchmark


      [8]ページ先頭

      ©2009-2025 Movatter.jp