91363


# 状況

PCが複数台あり、メインの開発PCのプロジェクトをマスターとして、Gitリポジトリを作成し、別のPCではgit pullで同期しております。  
各PCのプロジェクトフォルダには、venvで仮想環境を作り、共通してENVというフォルダ名にしております。  
自作パッケージを各仮想環境にインストールするため、パッケージごとに以下のコマンドを実行します。

[code]

    python -m pip install -e .
    
[/code]

開発PCでは特に問題なくインストールできます。  
しかし、もう一台のPC（以下PC1）では文字コードが原因でエラーとされてしまいます。  
各パッケージに関する説明を書いた、マークダウンファイルが日本語で記述されていて、これがエラーの対象となっているようです。

# 質問内容

PC1を開発PCのように文字コードエラーなく、自作パッケージをインストールするためには、どのようにしたらよいでしょうか？

# 開発環境

開発PCおよびPC1ともに以下の環境です。  
Windows 10 Pro  
Python 3.9.10

# エラー出力内容

[code]

    (ENV) PS C:\Users\(パッケージフォルダ) > python -m pip install -e .
    Obtaining file://C:\Users\(パッケージフォルダ)
      Preparing metadata (setup.py) ... error
      error: subprocess-exited-with-error
      
      × python setup.py egg_info did not run successfully.
      │ exit code: 1
      ╰─> [6 lines of output]
          Traceback (most recent call last):
            File "<string>", line 2, in <module>
            File "<pip-setuptools-caller>", line 34, in <module>
            File "C:\Users\(パッケージフォルダ)\setup.py", line 13, in <module>
              long_description=open("README.md").read(),
          UnicodeDecodeError: 'cp932' codec can't decode byte 0xef in position 34: illegal multibyte sequence
          [end of output]
    
      note: This error originates from a subprocess, and is likely not a problem with pip.
    error: metadata-generation-failed
    
    × Encountered error while generating package metadata.
    ╰─> See above for output.
    
    note: This is an issue with the package mentioned above, not pip.
    hint: See above for details.
    
[/code]


CC BY-SA 4.0
2022-09-28T07:29:51.270
91350
2022-09-29T00:58:53.747
2022-09-29T00:58:53.747
3060
32891
question
python python3 windows
自作パッケージをpipでインストールするとエラーとなってしまいます。


ご指摘のありました箇所を修正することで、解決しました。

**修正前:**

[code]

    long_description=open("README.md").read(),
    
[/code]

**修正後:**

[code]

    long_description=open("README.md", encoding='UTF-8').read(),
    
[/code]

### setup.py

[code]

    from setuptools import setup, find_packages
    
    version = "1.0.0"
    
    install_requires = [
        # 必要な依存ライブラリがあれば記述
    ]
    
    setup(
        name='app',
        version=nversion,
        description="***",
        long_description=open("README.md", encoding='UTF-8').read(),
        long_description_content_type='text/markdown',
        author='Imagenics.co.,ltd',
        license='***',
        keywords='***',
        python_requires='>=3.6',
        packages=find_packages(),
        install_requires=install_requires,
    )
    
    
[/code]


CC BY-SA 4.0
2022-09-29T00:19:26.943
91363
2022-09-29T00:54:42.127
2022-09-29T00:54:42.127
3060
32891
91350
answer