how to avoid generating *.egg file when publishing packages to testpypi/pypi?

I am facing the below error when I am building and publishing my package to testpypi using Github Workflows.

When I try to build my package locally, I get only two files but when I use workflows yml, it also creates the third file *.egg. How can I avoid generating the .egg file?

enter image description here

ERROR:
enter image description here

This is my yml file to build this package:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
  # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
  - uses: actions/checkout@v3

  # Sets up python3
  - uses: actions/setup-python@v3
    with:
      python-version: 3.8 

  # Installs and upgrades pip, installs other dependencies and installs the package from setup.py
  - name: "Installs and upgrades pip, installs other dependencies and installs the package from setup.py"
    run: |
      # Upgrade pip
      python3 -m pip install --upgrade pip
      # Install build deps
      python3 -m pip install setuptools wheel twine
      # If requirements.txt exists, install from it
      if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
      # Install the package from setup.py
      python3 setup.py install

# Tests with unittest
#  - name: Test with unittest
#    run: |
#      cd tests
#      python3 -m unittest discover
#      cd ..

  # Upload to TestPyPI
  - name: Build and Upload to TestPyPI
    run: |
      python3 setup.py sdist bdist_wheel
      python3 -m twine upload --verbose dist/*
    env:
      TWINE_USERNAME: __token__
      TWINE_PASSWORD: ${{ secrets.TWINE_TEST_TOKEN }}
      TWINE_REPOSITORY: testpypi

Leave a Comment