Giter VIP home page Giter VIP logo

flask-datta-able-pro's Introduction

Premium Flask Dashboard generated by AppSeed on top of a modern design. Datta Able PRO is the most stylized Bootstrap Admin Template, around all other Lite/Free admin templates in the market. It comes with highly feature-rich pages and components with fully developer-centric code. Before developing Datta Able our key points were performance and design.


Basic Version

  • Up-to-date dependencies, active versioning
  • DB Tools: SQLAlchemy ORM, Flask-Migrate (schema migrations)
  • Session-Based authentication (via flask_login), Forms validation
  • Docker

Extended Version

  • Authentication
    • Social Login (optional) for Github & Twitter
    • Automatic suspension on failed logins
    • Change Password, Self Deletion
  • Users Management
    • Extended user profile
    • Complete Users management (for Admins)
      • Edit users, suspend/unsuspend
  • API via Flask-RestX
    • Path: /api/
    • Products, Sales Models
  • Deployment
    • Page Compression via Flask-Minify (for production)

Datta Able PRO - Full-Stack Starter generated by AppSeed.


✨ Start the app in Docker

Step 1 - Download the code and unzip the sources (requires a purchase).

$ # Get the code
$ unzip flask-datta-able-pro.zip
$ cd flask-datta-able-pro

Step 2 - Edit .env and set DEBUG=True. This will activate the SQLite persistance.

DEBUG=True

Step 3 - Start the APP in Docker

$ docker-compose up --build 

Visit http://localhost:5085 in your browser. The app should be up & running.


✨ Set up the MySql Database

Note: Make sure your Mysql server is properly installed and accessible.

Step 1 - Create the MySql Database to be used by the app

  • Create a new MySql database
  • Create a new user and assign full privilegies (read/write)

Step 2 - Edit the .env to match your MySql DB credentials. Make sure DB_ENGINE is set to mysql.

  • DB_ENGINE : mysql
  • DB_NAME : default value = appseed_db
  • DB_HOST : default value = localhost
  • DB_PORT : default value = 3306
  • DB_USERNAME: default value = appseed_db_usr
  • DB_PASS : default value = pass

Here is a sample:

# .env sample

DEBUG=False                 # False enables the MySql Persistence

DB_ENGINE=mysql             # Database Driver
DB_NAME=appseed_db          # Database Name
DB_USERNAME=appseed_db_usr  # Database User
DB_PASS=STRONG_PASS_HERE    # Password 
DB_HOST=localhost           # Database HOST, default is localhost 
DB_PORT=3306                # MySql port, default = 3306 

✨ How to use it

Download the code and unzip the sources (requires a purchase).

$ # Get the code
$ unzip flask-datta-able-pro.zip
$ cd flask-datta-able-pro

👉 Set Up for Unix, MacOS

Install modules via VENV

$ virtualenv env
$ source env/bin/activate
$ pip3 install -r requirements.txt

Set Up Flask Environment

$ export FLASK_APP=run.py
$ export FLASK_ENV=development

Start the app

$ flask run

At this point, the app runs at http://127.0.0.1:5000/.


👉 Set Up for Windows

Install modules via VENV (windows)

$ virtualenv env
$ .\env\Scripts\activate
$ pip3 install -r requirements.txt

Set Up Flask Environment

$ # CMD 
$ set FLASK_APP=run.py
$ set FLASK_ENV=development
$
$ # Powershell
$ $env:FLASK_APP = ".\run.py"
$ $env:FLASK_ENV = "development"

Start the app

$ flask run

At this point, the app runs at http://127.0.0.1:5000/.


👉 Create Users

By default, the app redirects guest users to authenticate. In order to access the private pages, follow this set up:

  • Start the app via flask run
  • Access the registration page and create a new user:
    • http://127.0.0.1:5000/register
  • Access the sign in page and authenticate
    • http://127.0.0.1:5000/login

✨ Code-base structure

The project is coded using blueprints, app factory pattern, dual configuration profile (development and production) and an intuitive structure presented bellow:

< PROJECT ROOT >
   |
   |-- apps/
   |    |
   |    |-- home/                           # A simple app that serve HTML files
   |    |    |-- routes.py                  # Define app routes
   |    |
   |    |-- authentication/                 # Handles auth routes (login and register)
   |    |    |-- routes.py                  # Define authentication routes  
   |    |    |-- models.py                  # Defines models  
   |    |    |-- forms.py                   # Define auth forms (login and register) 
   |    |
   |    |-- static/
   |    |    |-- <css, JS, images>          # CSS files, Javascripts files
   |    |
   |    |-- templates/                      # Templates used to render pages
   |    |    |-- includes/                  # HTML chunks and components
   |    |    |    |-- navigation.html       # Top menu component
   |    |    |    |-- sidebar.html          # Sidebar component
   |    |    |    |-- footer.html           # App Footer
   |    |    |    |-- scripts.html          # Scripts common to all pages
   |    |    |
   |    |    |-- layouts/                   # Master pages
   |    |    |    |-- base-fullscreen.html  # Used by Authentication pages
   |    |    |    |-- base.html             # Used by common pages
   |    |    |
   |    |    |-- accounts/                  # Authentication pages
   |    |    |    |-- login.html            # Login page
   |    |    |    |-- register.html         # Register page
   |    |    |
   |    |    |-- home/                      # UI Kit Pages
   |    |         |-- index.html            # Index page
   |    |         |-- 404-page.html         # 404 page
   |    |         |-- *.html                # All other pages
   |    |    
   |  config.py                             # Set up the app
   |    __init__.py                         # Initialize the app
   |
   |-- requirements.txt                     # App Dependencies
   |
   |-- .env                                 # Inject Configuration via Environment
   |-- run.py                               # Start the app - WSGI gateway
   |
   |-- ************************************************************************


Datta Able PRO Flask - Starter generated by AppSeed Generator.

flask-datta-able-pro's People

Contributors

app-generator avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

flask-datta-able-pro's Issues

Code does not compile under Python 3.11

Running Python 3.11 on windows. I unzip and run pip install -r requirements.txt and get errors importing modules.
pro version 1.0.18

Get the following error

WARNING: The candidate selected for download or install is a yanked version: 'jsonschema' candidate (version 4.0.0 at https://files.pythonhosted.org/packages/e0/d9/05587ac378b9fd2c352c6f024f13240168365bd753a7e8007522b7025267/jsonschema-4.0.0-py3-none-any.whl (from https://pypi.org/simple/jsonschema/))
Reason for being yanked: Improper python_requires declaration
Installing collected packages: Werkzeug, typing_extensions, Pillow, marshmallow, MarkupSafe, lesscpy, itsdangerous, importlib-resources, importlib-metadata, idna, greenlet, dnspython, colorama, click, cffi, Babel, attrs, WTForms, SQLAlchemy, Mako, jsonschema, Jinja2, email-validator, cryptography, pyOpenSSL, marshmallow-sqlalchemy, Flask, alembic, Flask-WTF, flask_testing, Flask-SQLAlchemy, Flask-Script, flask-restx, flask_mysqldb, Flask-Minify, flask-marshmallow, Flask-Mail, Flask-Login, Flask-Dance, Flask-Admin, Flask-Migrate
Attempting uninstall: Werkzeug
Found existing installation: Werkzeug 2.2.3
Uninstalling Werkzeug-2.2.3:
Successfully uninstalled Werkzeug-2.2.3
Attempting uninstall: typing_extensions
Found existing installation: typing_extensions 4.5.0
Uninstalling typing_extensions-4.5.0:
Successfully uninstalled typing_extensions-4.5.0
Attempting uninstall: Pillow
Found existing installation: Pillow 9.4.0
Uninstalling Pillow-9.4.0:
Successfully uninstalled Pillow-9.4.0
DEPRECATION: Pillow is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at pypa/pip#8559
Running setup.py install for Pillow ... error
error: subprocess-exited-with-error

× Running setup.py install for Pillow did not run successfully.
│ exit code: 1
╰─> [192 lines of output]
running install
C:\Python311\Lib\site-packages\setuptools\command\install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running build
running build_py
creating build
creating build\lib.win-amd64-cpython-311
creating build\lib.win-amd64-cpython-311\PIL
copying src\PIL\BdfFontFile.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\BlpImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\BmpImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\BufrStubImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ContainerIO.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\CurImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\DcxImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\DdsImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\EpsImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ExifTags.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\features.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\FitsStubImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\FliImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\FontFile.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\FpxImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\FtexImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\GbrImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\GdImageFile.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\GifImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\GimpGradientFile.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\GimpPaletteFile.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\GribStubImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\Hdf5StubImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\IcnsImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\IcoImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\Image.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImageChops.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImageCms.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImageColor.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImageDraw.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImageDraw2.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImageEnhance.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImageFile.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImageFilter.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImageFont.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImageGrab.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImageMath.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImageMode.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImageMorph.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImageOps.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImagePalette.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImagePath.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImageQt.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImageSequence.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImageShow.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImageStat.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImageTk.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImageTransform.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImageWin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\ImtImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\IptcImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\Jpeg2KImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\JpegImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\JpegPresets.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\McIdasImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\MicImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\MpegImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\MpoImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\MspImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\PaletteFile.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\PalmImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\PcdImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\PcfFontFile.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\PcxImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\PdfImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\PdfParser.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\PixarImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\PngImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\PpmImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\PsdImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\PSDraw.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\PyAccess.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\SgiImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\SpiderImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\SunImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\TarIO.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\TgaImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\TiffImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\TiffTags.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\WalImageFile.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\WebPImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\WmfImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\XbmImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\XpmImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL\XVThumbImagePlugin.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL_binary.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL_tkinter_finder.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL_util.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL_version.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL_init_.py -> build\lib.win-amd64-cpython-311\PIL
copying src\PIL_main_.py -> build\lib.win-amd64-cpython-311\PIL
running egg_info
writing src\Pillow.egg-info\PKG-INFO
writing dependency_links to src\Pillow.egg-info\dependency_links.txt
writing top-level names to src\Pillow.egg-info\top_level.txt
reading manifest file 'src\Pillow.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '.c'
warning: no files found matching '
.h'
warning: no files found matching '.sh'
warning: no previously-included files found matching '.appveyor.yml'
warning: no previously-included files found matching '.clang-format'
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching '.editorconfig'
warning: no previously-included files found matching '.readthedocs.yml'
warning: no previously-included files found matching 'codecov.yml'
warning: no previously-included files matching '.git
' found anywhere in distribution
warning: no previously-included files matching '.pyc' found anywhere in distribution
warning: no previously-included files matching '
.so' found anywhere in distribution
no previously-included directories found matching '.ci'
adding license file 'LICENSE'
writing manifest file 'src\Pillow.egg-info\SOURCES.txt'
running build_ext

  The headers or library files could not be found for zlib,
  a required dependency when compiling Pillow from source.

  Please see the install instructions at:
     https://pillow.readthedocs.io/en/latest/installation.html

  Traceback (most recent call last):
    File "C:\Users\bnewm\AppData\Local\Temp\pip-install-qiihpe13\pillow_e8ff866cb7ef41cabc30be5909cc11da\setup.py", line 978, in <module>
      setup(
    File "C:\Python311\Lib\site-packages\setuptools\__init__.py", line 87, in setup
      return distutils.core.setup(**attrs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Python311\Lib\site-packages\setuptools\_distutils\core.py", line 185, in setup
      return run_commands(dist)
             ^^^^^^^^^^^^^^^^^^
    File "C:\Python311\Lib\site-packages\setuptools\_distutils\core.py", line 201, in run_commands
      dist.run_commands()
    File "C:\Python311\Lib\site-packages\setuptools\_distutils\dist.py", line 968, in run_commands
      self.run_command(cmd)
    File "C:\Python311\Lib\site-packages\setuptools\dist.py", line 1217, in run_command
      super().run_command(command)
    File "C:\Python311\Lib\site-packages\setuptools\_distutils\dist.py", line 987, in run_command
      cmd_obj.run()
    File "C:\Python311\Lib\site-packages\setuptools\command\install.py", line 68, in run
      return orig.install.run(self)
             ^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Python311\Lib\site-packages\setuptools\_distutils\command\install.py", line 698, in run
      self.run_command('build')
    File "C:\Python311\Lib\site-packages\setuptools\_distutils\cmd.py", line 319, in run_command
      self.distribution.run_command(command)
    File "C:\Python311\Lib\site-packages\setuptools\dist.py", line 1217, in run_command
      super().run_command(command)
    File "C:\Python311\Lib\site-packages\setuptools\_distutils\dist.py", line 987, in run_command
      cmd_obj.run()
    File "C:\Python311\Lib\site-packages\setuptools\_distutils\command\build.py", line 132, in run
      self.run_command(cmd_name)
    File "C:\Python311\Lib\site-packages\setuptools\_distutils\cmd.py", line 319, in run_command
      self.distribution.run_command(command)
    File "C:\Python311\Lib\site-packages\setuptools\dist.py", line 1217, in run_command
      super().run_command(command)
    File "C:\Python311\Lib\site-packages\setuptools\_distutils\dist.py", line 987, in run_command
      cmd_obj.run()
    File "C:\Python311\Lib\site-packages\setuptools\command\build_ext.py", line 84, in run
      _build_ext.run(self)
    File "C:\Python311\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 346, in run
      self.build_extensions()
    File "C:\Users\bnewm\AppData\Local\Temp\pip-install-qiihpe13\pillow_e8ff866cb7ef41cabc30be5909cc11da\setup.py", line 790, in build_extensions
      raise RequiredDependencyException(f)
  RequiredDependencyException: zlib

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "C:\Users\bnewm\AppData\Local\Temp\pip-install-qiihpe13\pillow_e8ff866cb7ef41cabc30be5909cc11da\setup.py", line 1037, in <module>
      raise RequiredDependencyException(msg)
  RequiredDependencyException:

  The headers or library files could not be found for zlib,
  a required dependency when compiling Pillow from source.

  Please see the install instructions at:
     https://pillow.readthedocs.io/en/latest/installation.html


  C:\Users\bnewm\AppData\Local\Temp\pip-install-qiihpe13\pillow_e8ff866cb7ef41cabc30be5909cc11da\setup.py:46: RuntimeWarning: Pillow 8.4.0 does not support Python 3.11 and does not provide prebuilt Windows binaries. We do not recommend building from source on Windows.
    lambda: warnings.warn(
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
Rolling back uninstall of Pillow
Moving to c:\python311\lib\site-packages\pil
from C:\Python311\Lib\site-packages~il
Moving to c:\python311\lib\site-packages\pillow-9.4.0.dist-info
from C:\Python311\Lib\site-packages~illow-9.4.0.dist-info
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> Pillow

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.

Sidebar.html menu selection

hi, i want to ask somethink. I am using flask dattaable pro dashboard but my sidebar does not activate the menu item. What ever you chose, it doesnt matter, menu do not show which page you are in. I think its about the sidebar.html nav menu item but i cannot find. Also this problem seen in your demo page.

I found the problem. Its about app/base/templates/includes/sidebar.html ---> in menu part, {% if 'index' in segment %} active {% endif %} {% if 'alternative' in segment %} active {% endif %}" section is missing

index-ac-package.html is missing

index-ac-package.html ("extra helper file") is referenced several times, but is missing; For example: master/app/home/templates/ac_pnotify.html (line 45)

Upgrade to Python 3.11

Hi, can you update this to use 3.11?
I tried updating the Dockerfile to 3.11 and it was causing errors.

MacOS Ventura 13.1
Python 3.11

Error log:
everything was loading until...

#0 50.86 WARNING: The candidate selected for download or install is a yanked version: 'jsonschema' candidate (version 4.0.0 at https://files.pythonhosted.org/packages/e0/d9/05587ac378b9fd2c352c6f024f13240168365bd753a7e8007522b7025267/jsonschema-4.0.0-py3-none-any.whl (from https://pypi.org/simple/jsonschema/))
#0 50.86 Reason for being yanked: Improper python_requires declaration
#0 50.86 Building wheels for collected packages: blinker, Flask-Admin, Flask-Mail, Flask-Script, greenlet, htmlmin, jsmin, MarkupSafe, Pillow, pyrsistent, rcssmin, SQLAlchemy, xxhash, flask_testing, flask_mysqldb, mysqlclient, urlobject
#0 50.86   Building wheel for blinker (setup.py): started
#0 51.91   Building wheel for blinker (setup.py): finished with status 'done'
#0 51.91   Created wheel for blinker: filename=blinker-1.4-py3-none-any.whl size=13458 sha256=b380ec5898b2a984d3a2a5fbe44c92226db5e6be4a32f77b41601b611157eec0
#0 51.91   Stored in directory: /tmp/pip-ephem-wheel-cache-5m8oyx4f/wheels/93/0e/3a/fc1dee9477df8ee4d1e5753a66cee695ca41e6441e1a70cee2
#0 51.92   Building wheel for Flask-Admin (setup.py): started
#0 56.55   Building wheel for Flask-Admin (setup.py): finished with status 'done'
#0 56.57   Created wheel for Flask-Admin: filename=Flask_Admin-1.6.0-py3-none-any.whl size=7496289 sha256=24d1dbf62dc74f87553a48a00dc4841ee51463c29ab42cd8b721ef5283a678c1
#0 56.57   Stored in directory: /tmp/pip-ephem-wheel-cache-5m8oyx4f/wheels/69/bf/f7/98e60d52df4147ab7eab7820d5bb1471ee2b93e16040c948fc
#0 56.58   Building wheel for Flask-Mail (setup.py): started
#0 57.93   Building wheel for Flask-Mail (setup.py): finished with status 'done'
#0 57.93   Created wheel for Flask-Mail: filename=Flask_Mail-0.9.0-py3-none-any.whl size=6808 sha256=a26b01d9f40d006b8029b640c787765d2549ea4661dc0cb4a13599c4f9d0a485
#0 57.93   Stored in directory: /tmp/pip-ephem-wheel-cache-5m8oyx4f/wheels/1e/cc/d3/f381e6dc4e3cba40ed762fce5603789cd287f6ba8b78b0bc57
#0 57.93   Building wheel for Flask-Script (setup.py): started
#0 58.94   Building wheel for Flask-Script (setup.py): finished with status 'done'
#0 58.94   Created wheel for Flask-Script: filename=Flask_Script-2.0.6-py3-none-any.whl size=14025 sha256=0ec7667f6d7353c2cb75f26e627ee1fb5214b0fa7fd1f69e8023bc192e14b836
#0 58.95   Stored in directory: /tmp/pip-ephem-wheel-cache-5m8oyx4f/wheels/bb/e0/f4/7cc4accf178a6b8dbd222f86852bba7949eb57c9a7682db227
#0 58.96   Building wheel for greenlet (setup.py): started
#0 60.09   Building wheel for greenlet (setup.py): finished with status 'error'
#0 60.12   error: subprocess-exited-with-error
#0 60.12
#0 60.12   × python setup.py bdist_wheel did not run successfully.
#0 60.12   │ exit code: 1
#0 60.12   ╰─> [304 lines of output]
#0 60.12       running bdist_wheel
#0 60.12       running build
#0 60.12       running build_py
#0 60.12       creating build
#0 60.12       creating build/lib.linux-x86_64-cpython-311
#0 60.12       creating build/lib.linux-x86_64-cpython-311/greenlet
#0 60.12       copying src/greenlet/__init__.py -> build/lib.linux-x86_64-cpython-311/greenlet
#0 60.12       creating build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 60.12       copying src/greenlet/tests/test_gc.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 60.12       copying src/greenlet/tests/__init__.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 60.12       copying src/greenlet/tests/test_version.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 60.12       copying src/greenlet/tests/test_extension_interface.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 60.12       copying src/greenlet/tests/test_stack_saved.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 60.12       copying src/greenlet/tests/test_cpp.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 60.12       copying src/greenlet/tests/test_generator.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 60.12       copying src/greenlet/tests/test_contextvars.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 60.12       copying src/greenlet/tests/test_tracing.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 60.12       copying src/greenlet/tests/test_throw.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 60.12       copying src/greenlet/tests/test_weakref.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 60.12       copying src/greenlet/tests/test_generator_nested.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 60.12       copying src/greenlet/tests/test_greenlet.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 60.12       copying src/greenlet/tests/test_leaks.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 60.12       running egg_info
#0 60.12       writing src/greenlet.egg-info/PKG-INFO
#0 60.12       writing dependency_links to src/greenlet.egg-info/dependency_links.txt
#0 60.12       writing requirements to src/greenlet.egg-info/requires.txt
#0 60.12       writing top-level names to src/greenlet.egg-info/top_level.txt
#0 60.12       reading manifest file 'src/greenlet.egg-info/SOURCES.txt'
#0 60.12       reading manifest template 'MANIFEST.in'
#0 60.12       no previously-included directories found matching 'docs/_build'
#0 60.12       warning: no files found matching '*.py' under directory 'appveyor'
#0 60.12       warning: no previously-included files matching '*.pyc' found anywhere in distribution
#0 60.12       warning: no previously-included files matching '*.pyd' found anywhere in distribution
#0 60.12       warning: no previously-included files matching '*.so' found anywhere in distribution
#0 60.12       warning: no previously-included files matching '.coverage' found anywhere in distribution
#0 60.12       adding license file 'LICENSE'
#0 60.12       adding license file 'LICENSE.PSF'
#0 60.12       adding license file 'AUTHORS'
#0 60.12       writing manifest file 'src/greenlet.egg-info/SOURCES.txt'
#0 60.12       /usr/local/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning:     Installing 'greenlet.platform' as data is deprecated, please list it in `packages`.
#0 60.12           !!
#0 60.12
#0 60.12
#0 60.12           ############################
#0 60.12           # Package would be ignored #
#0 60.12           ############################
#0 60.12           Python recognizes 'greenlet.platform' as an importable package,
#0 60.12           but it is not listed in the `packages` configuration of setuptools.
#0 60.12
#0 60.12           'greenlet.platform' has been automatically added to the distribution only
#0 60.12           because it may contain data files, but this behavior is likely to change
#0 60.12           in future versions of setuptools (and therefore is considered deprecated).
#0 60.12
#0 60.12           Please make sure that 'greenlet.platform' is included as a package by using
#0 60.12           the `packages` configuration field or the proper discovery methods
#0 60.12           (for example by using `find_namespace_packages(...)`/`find_namespace:`
#0 60.12           instead of `find_packages(...)`/`find:`).
#0 60.12
#0 60.12           You can read more about "package discovery" and "data files" on setuptools
#0 60.12           documentation page.
#0 60.12
#0 60.12
#0 60.12       !!
#0 60.12
#0 60.12         check.warn(importable)
#0 60.12       copying src/greenlet/greenlet.c -> build/lib.linux-x86_64-cpython-311/greenlet
#0 60.12       copying src/greenlet/greenlet.h -> build/lib.linux-x86_64-cpython-311/greenlet
#0 60.12       copying src/greenlet/slp_platformselect.h -> build/lib.linux-x86_64-cpython-311/greenlet
#0 60.12       creating build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/setup_switch_x64_masm.cmd -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_aarch64_gcc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_alpha_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_amd64_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_arm32_gcc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_arm32_ios.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_csky_gcc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_m68k_gcc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_mips_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_ppc64_aix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_ppc64_linux.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_ppc_aix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_ppc_linux.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_ppc_macosx.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_ppc_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_riscv_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_s390_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_sparc_sun_gcc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_x32_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_x64_masm.asm -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_x64_masm.obj -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_x64_msvc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_x86_msvc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/platform/switch_x86_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 60.12       copying src/greenlet/tests/_test_extension.c -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 60.12       copying src/greenlet/tests/_test_extension_cpp.cpp -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 60.12       warning: build_py: byte-compiling is disabled, skipping.
#0 60.12
#0 60.12       running build_ext
#0 60.12       building 'greenlet._greenlet' extension
#0 60.12       creating build/temp.linux-x86_64-cpython-311
#0 60.12       creating build/temp.linux-x86_64-cpython-311/src
#0 60.12       creating build/temp.linux-x86_64-cpython-311/src/greenlet
#0 60.12       gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/usr/local/include/python3.11 -c src/greenlet/greenlet.c -o build/temp.linux-x86_64-cpython-311/src/greenlet/greenlet.o
#0 60.12       In file included from src/greenlet/greenlet.c:11:
#0 60.12       src/greenlet/greenlet.h:42:5: error: unknown type name ‘CFrame’
#0 60.12          42 |     CFrame* cframe;
#0 60.12             |     ^~~~~~
#0 60.12       src/greenlet/greenlet.c: In function ‘green_clear_exc’:
#0 60.12       src/greenlet/greenlet.c:173:17: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
#0 60.12         173 |     g->exc_state.exc_type = NULL;
#0 60.12             |                 ^
#0 60.12       src/greenlet/greenlet.c:175:17: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
#0 60.12         175 |     g->exc_state.exc_traceback = NULL;
#0 60.12             |                 ^
#0 60.12       src/greenlet/greenlet.c: In function ‘g_switchstack’:
#0 60.12       src/greenlet/greenlet.c:528:44: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_depth’; did you mean ‘recursion_limit’?
#0 60.12         528 |         current->recursion_depth = tstate->recursion_depth;
#0 60.12             |                                            ^~~~~~~~~~~~~~~
#0 60.12             |                                            recursion_limit
#0 60.12       src/greenlet/greenlet.c:529:38: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘frame’; did you mean ‘cframe’?
#0 60.12         529 |         current->top_frame = tstate->frame;
#0 60.12             |                                      ^~~~~
#0 60.12             |                                      cframe
#0 60.12       src/greenlet/greenlet.c:552:25: warning: assignment to ‘int *’ from incompatible pointer type ‘_PyCFrame *’ [-Wincompatible-pointer-types]
#0 60.12         552 |         current->cframe = tstate->cframe;
#0 60.12             |                         ^
#0 60.12       src/greenlet/greenlet.c:577:17: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_depth’; did you mean ‘recursion_limit’?
#0 60.12         577 |         tstate->recursion_depth = target->recursion_depth;
#0 60.12             |                 ^~~~~~~~~~~~~~~
#0 60.12             |                 recursion_limit
#0 60.12       src/greenlet/greenlet.c:578:17: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘frame’; did you mean ‘cframe’?
#0 60.12         578 |         tstate->frame = target->top_frame;
#0 60.12             |                 ^~~~~
#0 60.12             |                 cframe
#0 60.12       src/greenlet/greenlet.c:601:24: warning: assignment to ‘_PyCFrame *’ from incompatible pointer type ‘int *’ [-Wincompatible-pointer-types]
#0 60.12         601 |         tstate->cframe = target->cframe;
#0 60.12             |                        ^
#0 60.12       src/greenlet/greenlet.c: In function ‘g_initialstub’:
#0 60.12       src/greenlet/greenlet.c:813:5: error: unknown type name ‘CFrame’
#0 60.12         813 |     CFrame trace_info;
#0 60.12             |     ^~~~~~
#0 60.12       src/greenlet/greenlet.c:857:18: error: incompatible types when assigning to type ‘int’ from type ‘_PyCFrame’
#0 60.12         857 |     trace_info = *PyThreadState_GET()->cframe;
#0 60.12             |                  ^
#0 60.12       src/greenlet/greenlet.c:864:17: error: request for member ‘previous’ in something not a structure or union
#0 60.12         864 |     self->cframe->previous = &PyThreadState_GET()->root_cframe;
#0 60.12             |                 ^~
#0 60.12       src/greenlet/greenlet.c:878:50: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_depth’; did you mean ‘recursion_limit’?
#0 60.12         878 |     self->recursion_depth = PyThreadState_GET()->recursion_depth;
#0 60.12             |                                                  ^~~~~~~~~~~~~~~
#0 60.12             |                                                  recursion_limit
#0 60.12       src/greenlet/greenlet.c: In function ‘green_new’:
#0 60.12       src/greenlet/greenlet.c:1018:34: warning: assignment to ‘int *’ from incompatible pointer type ‘_PyCFrame *’ [-Wincompatible-pointer-types]
#0 60.12        1018 |         ((PyGreenlet*)o)->cframe = &PyThreadState_GET()->root_cframe;
#0 60.12             |                                  ^
#0 60.12       In file included from /usr/local/include/python3.11/Python.h:45,
#0 60.12                        from src/greenlet/greenlet.h:8,
#0 60.12                        from src/greenlet/greenlet.c:11:
#0 60.12       src/greenlet/greenlet.c: In function ‘green_traverse’:
#0 60.12       src/greenlet/greenlet.c:1124:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
#0 60.12        1124 |     Py_VISIT(self->exc_state.exc_type);
#0 60.12             |                             ^
#0 60.12       /usr/local/include/python3.11/objimpl.h:199:13: note: in definition of macro ‘Py_VISIT’
#0 60.12         199 |         if (op) {                                                       \
#0 60.12             |             ^~
#0 60.12       In file included from /usr/local/include/python3.11/Python.h:38,
#0 60.12                        from src/greenlet/greenlet.h:8,
#0 60.12                        from src/greenlet/greenlet.c:11:
#0 60.12       src/greenlet/greenlet.c:1124:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
#0 60.12        1124 |     Py_VISIT(self->exc_state.exc_type);
#0 60.12             |                             ^
#0 60.12       /usr/local/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
#0 60.12          24 | #define _Py_CAST(type, expr) ((type)(expr))
#0 60.12             |                                      ^~~~
#0 60.12       /usr/local/include/python3.11/objimpl.h:200:30: note: in expansion of macro ‘_PyObject_CAST’
#0 60.12         200 |             int vret = visit(_PyObject_CAST(op), arg);                  \
#0 60.12             |                              ^~~~~~~~~~~~~~
#0 60.12       src/greenlet/greenlet.c:1124:5: note: in expansion of macro ‘Py_VISIT’
#0 60.12        1124 |     Py_VISIT(self->exc_state.exc_type);
#0 60.12             |     ^~~~~~~~
#0 60.12       In file included from /usr/local/include/python3.11/Python.h:45,
#0 60.12                        from src/greenlet/greenlet.h:8,
#0 60.12                        from src/greenlet/greenlet.c:11:
#0 60.12       src/greenlet/greenlet.c:1126:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
#0 60.12        1126 |     Py_VISIT(self->exc_state.exc_traceback);
#0 60.12             |                             ^
#0 60.12       /usr/local/include/python3.11/objimpl.h:199:13: note: in definition of macro ‘Py_VISIT’
#0 60.12         199 |         if (op) {                                                       \
#0 60.12             |             ^~
#0 60.12       In file included from /usr/local/include/python3.11/Python.h:38,
#0 60.12                        from src/greenlet/greenlet.h:8,
#0 60.12                        from src/greenlet/greenlet.c:11:
#0 60.12       src/greenlet/greenlet.c:1126:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
#0 60.12        1126 |     Py_VISIT(self->exc_state.exc_traceback);
#0 60.12             |                             ^
#0 60.12       /usr/local/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
#0 60.12          24 | #define _Py_CAST(type, expr) ((type)(expr))
#0 60.12             |                                      ^~~~
#0 60.12       /usr/local/include/python3.11/objimpl.h:200:30: note: in expansion of macro ‘_PyObject_CAST’
#0 60.12         200 |             int vret = visit(_PyObject_CAST(op), arg);                  \
#0 60.12             |                              ^~~~~~~~~~~~~~
#0 60.12       src/greenlet/greenlet.c:1126:5: note: in expansion of macro ‘Py_VISIT’
#0 60.12        1126 |     Py_VISIT(self->exc_state.exc_traceback);
#0 60.12             |     ^~~~~~~~
#0 60.12       src/greenlet/greenlet.c: In function ‘green_clear’:
#0 60.12       src/greenlet/greenlet.c:1162:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
#0 60.12        1162 |     Py_CLEAR(self->exc_state.exc_type);
#0 60.12             |                             ^
#0 60.12       /usr/local/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
#0 60.12          24 | #define _Py_CAST(type, expr) ((type)(expr))
#0 60.12             |                                      ^~~~
#0 60.12       /usr/local/include/python3.11/object.h:581:29: note: in expansion of macro ‘_PyObject_CAST’
#0 60.12         581 |         PyObject *_py_tmp = _PyObject_CAST(op); \
#0 60.12             |                             ^~~~~~~~~~~~~~
#0 60.12       src/greenlet/greenlet.c:1162:5: note: in expansion of macro ‘Py_CLEAR’
#0 60.12        1162 |     Py_CLEAR(self->exc_state.exc_type);
#0 60.12             |     ^~~~~~~~
#0 60.12       In file included from /usr/local/include/python3.11/Python.h:44,
#0 60.12                        from src/greenlet/greenlet.h:8,
#0 60.12                        from src/greenlet/greenlet.c:11:
#0 60.12       src/greenlet/greenlet.c:1162:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
#0 60.12        1162 |     Py_CLEAR(self->exc_state.exc_type);
#0 60.12             |                             ^
#0 60.12       /usr/local/include/python3.11/object.h:583:14: note: in definition of macro ‘Py_CLEAR’
#0 60.12         583 |             (op) = NULL;                        \
#0 60.12             |              ^~
#0 60.12       In file included from /usr/local/include/python3.11/Python.h:38,
#0 60.12                        from src/greenlet/greenlet.h:8,
#0 60.12                        from src/greenlet/greenlet.c:11:
#0 60.12       src/greenlet/greenlet.c:1164:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
#0 60.12        1164 |     Py_CLEAR(self->exc_state.exc_traceback);
#0 60.12             |                             ^
#0 60.12       /usr/local/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
#0 60.12          24 | #define _Py_CAST(type, expr) ((type)(expr))
#0 60.12             |                                      ^~~~
#0 60.12       /usr/local/include/python3.11/object.h:581:29: note: in expansion of macro ‘_PyObject_CAST’
#0 60.12         581 |         PyObject *_py_tmp = _PyObject_CAST(op); \
#0 60.12             |                             ^~~~~~~~~~~~~~
#0 60.12       src/greenlet/greenlet.c:1164:5: note: in expansion of macro ‘Py_CLEAR’
#0 60.12        1164 |     Py_CLEAR(self->exc_state.exc_traceback);
#0 60.12             |     ^~~~~~~~
#0 60.12       In file included from /usr/local/include/python3.11/Python.h:44,
#0 60.12                        from src/greenlet/greenlet.h:8,
#0 60.12                        from src/greenlet/greenlet.c:11:
#0 60.12       src/greenlet/greenlet.c:1164:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
#0 60.12        1164 |     Py_CLEAR(self->exc_state.exc_traceback);
#0 60.12             |                             ^
#0 60.12       /usr/local/include/python3.11/object.h:583:14: note: in definition of macro ‘Py_CLEAR’
#0 60.12         583 |             (op) = NULL;                        \
#0 60.12             |              ^~
#0 60.12       In file included from /usr/local/include/python3.11/Python.h:38,
#0 60.12                        from src/greenlet/greenlet.h:8,
#0 60.12                        from src/greenlet/greenlet.c:11:
#0 60.12       src/greenlet/greenlet.c: In function ‘green_dealloc’:
#0 60.12       src/greenlet/greenlet.c:1256:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
#0 60.12        1256 |     Py_CLEAR(self->exc_state.exc_type);
#0 60.12             |                             ^
#0 60.12       /usr/local/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
#0 60.12          24 | #define _Py_CAST(type, expr) ((type)(expr))
#0 60.12             |                                      ^~~~
#0 60.12       /usr/local/include/python3.11/object.h:581:29: note: in expansion of macro ‘_PyObject_CAST’
#0 60.12         581 |         PyObject *_py_tmp = _PyObject_CAST(op); \
#0 60.12             |                             ^~~~~~~~~~~~~~
#0 60.12       src/greenlet/greenlet.c:1256:5: note: in expansion of macro ‘Py_CLEAR’
#0 60.12        1256 |     Py_CLEAR(self->exc_state.exc_type);
#0 60.12             |     ^~~~~~~~
#0 60.12       In file included from /usr/local/include/python3.11/Python.h:44,
#0 60.12                        from src/greenlet/greenlet.h:8,
#0 60.12                        from src/greenlet/greenlet.c:11:
#0 60.12       src/greenlet/greenlet.c:1256:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
#0 60.12        1256 |     Py_CLEAR(self->exc_state.exc_type);
#0 60.12             |                             ^
#0 60.12       /usr/local/include/python3.11/object.h:583:14: note: in definition of macro ‘Py_CLEAR’
#0 60.12         583 |             (op) = NULL;                        \
#0 60.12             |              ^~
#0 60.12       In file included from /usr/local/include/python3.11/Python.h:38,
#0 60.12                        from src/greenlet/greenlet.h:8,
#0 60.12                        from src/greenlet/greenlet.c:11:
#0 60.12       src/greenlet/greenlet.c:1258:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
#0 60.12        1258 |     Py_CLEAR(self->exc_state.exc_traceback);
#0 60.12             |                             ^
#0 60.12       /usr/local/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
#0 60.12          24 | #define _Py_CAST(type, expr) ((type)(expr))
#0 60.12             |                                      ^~~~
#0 60.12       /usr/local/include/python3.11/object.h:581:29: note: in expansion of macro ‘_PyObject_CAST’
#0 60.12         581 |         PyObject *_py_tmp = _PyObject_CAST(op); \
#0 60.12             |                             ^~~~~~~~~~~~~~
#0 60.12       src/greenlet/greenlet.c:1258:5: note: in expansion of macro ‘Py_CLEAR’
#0 60.12        1258 |     Py_CLEAR(self->exc_state.exc_traceback);
#0 60.12             |     ^~~~~~~~
#0 60.12       In file included from /usr/local/include/python3.11/Python.h:44,
#0 60.12                        from src/greenlet/greenlet.h:8,
#0 60.12                        from src/greenlet/greenlet.c:11:
#0 60.12       src/greenlet/greenlet.c:1258:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
#0 60.12        1258 |     Py_CLEAR(self->exc_state.exc_traceback);
#0 60.12             |                             ^
#0 60.12       /usr/local/include/python3.11/object.h:583:14: note: in definition of macro ‘Py_CLEAR’
#0 60.12         583 |             (op) = NULL;                        \
#0 60.12             |              ^~
#0 60.12       src/greenlet/greenlet.c: In function ‘PyGreenlet_New’:
#0 60.12       src/greenlet/greenlet.c:1777:15: warning: assignment to ‘int *’ from incompatible pointer type ‘_PyCFrame *’ [-Wincompatible-pointer-types]
#0 60.12        1777 |     g->cframe = &PyThreadState_GET()->root_cframe;
#0 60.12             |               ^
#0 60.12       error: command '/usr/bin/gcc' failed with exit code 1
#0 60.12       [end of output]
#0 60.12
#0 60.12   note: This error originates from a subprocess, and is likely not a problem with pip.
#0 60.12   ERROR: Failed building wheel for greenlet
#0 60.12   Running setup.py clean for greenlet
#0 60.91   Building wheel for htmlmin (setup.py): started
#0 61.93   Building wheel for htmlmin (setup.py): finished with status 'done'
#0 61.93   Created wheel for htmlmin: filename=htmlmin-0.1.12-py3-none-any.whl size=27081 sha256=302f74b3b28e4ac3ee1960d854564e12ea112d840e494471690e833f8ffaaa30
#0 61.94   Stored in directory: /tmp/pip-ephem-wheel-cache-5m8oyx4f/wheels/4f/05/90/0d498de7bf73994c24de7b3d387f4bc5f5142124d0c99cb1c6
#0 61.94   Building wheel for jsmin (setup.py): started
#0 63.00   Building wheel for jsmin (setup.py): finished with status 'done'
#0 63.00   Created wheel for jsmin: filename=jsmin-3.0.1-py3-none-any.whl size=13766 sha256=477dbd2030494c5620983553162b2ec1c76dc2320b3484446e7d7680e4776068
#0 63.00   Stored in directory: /tmp/pip-ephem-wheel-cache-5m8oyx4f/wheels/55/66/1f/99b8f56d8ed6024032d59533a975bb27c892b309ee34b15bd0
#0 63.00   Building wheel for MarkupSafe (setup.py): started
#0 64.42   Building wheel for MarkupSafe (setup.py): finished with status 'done'
#0 64.42   Created wheel for MarkupSafe: filename=MarkupSafe-2.0.1-cp311-cp311-linux_x86_64.whl size=28240 sha256=5a3a6c34876d173293f44d0ba466038279d21201f6f44be5d4e8f6e7e7b81bfa
#0 64.42   Stored in directory: /tmp/pip-ephem-wheel-cache-5m8oyx4f/wheels/64/0d/30/eb3402e15eeeb3a2cc22f6bc1320c9b3fb9093e042d752d180
#0 64.43   Building wheel for Pillow (setup.py): started
#0 89.61   Building wheel for Pillow (setup.py): finished with status 'done'
#0 89.62   Created wheel for Pillow: filename=Pillow-8.4.0-cp311-cp311-linux_x86_64.whl size=1385147 sha256=40d2cbf10154a53951fabd8e8f0569965d6cd2f3691c8abc591ffbfd1616fa8e
#0 89.62   Stored in directory: /tmp/pip-ephem-wheel-cache-5m8oyx4f/wheels/9d/51/67/3716aa0cabfa350b0618a6c650eceb2e4836ff3a024d8b28c7
#0 89.63   Building wheel for pyrsistent (pyproject.toml): started
#0 91.24   Building wheel for pyrsistent (pyproject.toml): finished with status 'done'
#0 91.24   Created wheel for pyrsistent: filename=pyrsistent-0.18.0-cp311-cp311-linux_x86_64.whl size=117792 sha256=39d51d1a243ee7f4badb15103cabbb8116f3bbcd6ce12b7a314614bf47a572b6
#0 91.24   Stored in directory: /tmp/pip-ephem-wheel-cache-5m8oyx4f/wheels/94/7c/9e/93c01582e1c1d96246397af2d3c6ac73af404e8c9e14d677aa
#0 91.25   Building wheel for rcssmin (setup.py): started
#0 93.10   Building wheel for rcssmin (setup.py): finished with status 'done'
#0 93.10   Created wheel for rcssmin: filename=rcssmin-1.1.0-cp311-cp311-linux_x86_64.whl size=48133 sha256=180d88371a1583f60d817a3b30ac37f8c0339210ba03355d55723c8dc93b290d
#0 93.10   Stored in directory: /tmp/pip-ephem-wheel-cache-5m8oyx4f/wheels/24/9d/04/449737caebb82649b94ac04cc5ce1e308c500d56f37b3dbd69
#0 93.10   Building wheel for SQLAlchemy (setup.py): started
#0 95.57   Building wheel for SQLAlchemy (setup.py): finished with status 'done'
#0 95.57   Created wheel for SQLAlchemy: filename=SQLAlchemy-1.4.29-cp311-cp311-linux_x86_64.whl size=1578225 sha256=6fc94adeec544bb487318466c45d3c18eb73e6f648fce46f0823c2f77c3d0ccc
#0 95.57   Stored in directory: /tmp/pip-ephem-wheel-cache-5m8oyx4f/wheels/7e/e3/e1/4a9ab56d4eab291f4a2174b0a0957af2761cc6f8cff639ff05
#0 95.58   Building wheel for xxhash (pyproject.toml): started
#0 99.26   Building wheel for xxhash (pyproject.toml): finished with status 'done'
#0 99.26   Created wheel for xxhash: filename=xxhash-3.0.0-cp311-cp311-linux_x86_64.whl size=211567 sha256=2908be8292c37fa15927347e0b95c65b311c5cb322049a194b566c5bd2e48b34
#0 99.26   Stored in directory: /tmp/pip-ephem-wheel-cache-5m8oyx4f/wheels/94/5c/8a/c3ffbf852a7953fb903bc158d627642901e11a8c00eb994cb9
#0 99.26   Building wheel for flask_testing (setup.py): started
#0 100.3   Building wheel for flask_testing (setup.py): finished with status 'done'
#0 100.3   Created wheel for flask_testing: filename=Flask_Testing-0.8.1-py3-none-any.whl size=8190 sha256=ee5a9b05c875e1d4e9d709f736701d945c4b85f3972495b1dee4810a0d24eb90
#0 100.3   Stored in directory: /tmp/pip-ephem-wheel-cache-5m8oyx4f/wheels/8a/c9/3a/c9c4041c703749f213614d6b361755783691cc4f4bc2b96878
#0 100.3   Building wheel for flask_mysqldb (setup.py): started
#0 101.3   Building wheel for flask_mysqldb (setup.py): finished with status 'done'
#0 101.3   Created wheel for flask_mysqldb: filename=Flask_MySQLdb-1.0.1-py3-none-any.whl size=4675 sha256=17197b23b4626ee14d8d24e053ea29f53a1312b8726ef9b5b956b712c8440f7e
#0 101.3   Stored in directory: /tmp/pip-ephem-wheel-cache-5m8oyx4f/wheels/ff/9e/13/b6b17dbbe148634ac3c14c5066f75574f35439a2a0d6397899
#0 101.3   Building wheel for mysqlclient (setup.py): started
#0 103.0   Building wheel for mysqlclient (setup.py): finished with status 'done'
#0 103.0   Created wheel for mysqlclient: filename=mysqlclient-2.1.1-cp311-cp311-linux_x86_64.whl size=114731 sha256=6c17993ee90bc9069995d3fce0d81993a42e65b3a80b702e4645acb579f32023
#0 103.0   Stored in directory: /tmp/pip-ephem-wheel-cache-5m8oyx4f/wheels/79/b2/17/a308360433f77818b9ddfd53121edb8148c0430b10c5012c83
#0 103.0   Building wheel for urlobject (setup.py): started
#0 104.1   Building wheel for urlobject (setup.py): finished with status 'done'
#0 104.1   Created wheel for urlobject: filename=URLObject-2.4.3-py3-none-any.whl size=14510 sha256=32c6ac4c57b652eab4c5ab6d7215f012df65bed9fbadb2755b1181ef76c7795e
#0 104.1   Stored in directory: /tmp/pip-ephem-wheel-cache-5m8oyx4f/wheels/39/07/a8/2d4cbe54a9c0bd1035a28b49969f9364bcdb38f263fd5dcc63
#0 104.1 Successfully built blinker Flask-Admin Flask-Mail Flask-Script htmlmin jsmin MarkupSafe Pillow pyrsistent rcssmin SQLAlchemy xxhash flask_testing flask_mysqldb mysqlclient urlobject
#0 104.1 Failed to build greenlet
#0 104.6 Installing collected packages: urlobject, rcssmin, pytz, ply, jsmin, htmlmin, charset-normalizer, blinker, aniso8601, zipp, xxhash, Werkzeug, urllib3, typing_extensions, six, python-dotenv, pyrsistent, pycparser, Pillow, oauthlib, mysqlclient, marshmallow, MarkupSafe, itsdangerous, importlib-resources, idna, gunicorn, greenlet, dnspython, colorama, click, certifi, Babel, attrs, WTForms, SQLAlchemy, requests, Mako, lesscpy, jsonschema, Jinja2, importlib-metadata, email-validator, cffi, requests-oauthlib, marshmallow-sqlalchemy, Flask, cryptography, alembic, pyOpenSSL, Flask-WTF, flask_testing, Flask-SQLAlchemy, Flask-Script, flask-restx, flask_mysqldb, Flask-Minify, flask-marshmallow, Flask-Mail, Flask-Login, Flask-Dance, Flask-Admin, Flask-Migrate
#0 106.1   Running setup.py install for greenlet: started
#0 107.1   Running setup.py install for greenlet: finished with status 'error'
#0 107.1   error: subprocess-exited-with-error
#0 107.1
#0 107.1   × Running setup.py install for greenlet did not run successfully.
#0 107.1   │ exit code: 1
#0 107.1   ╰─> [306 lines of output]
#0 107.1       running install
#0 107.1       /usr/local/lib/python3.11/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
#0 107.1         warnings.warn(
#0 107.1       running build
#0 107.1       running build_py
#0 107.1       creating build
#0 107.1       creating build/lib.linux-x86_64-cpython-311
#0 107.1       creating build/lib.linux-x86_64-cpython-311/greenlet
#0 107.1       copying src/greenlet/__init__.py -> build/lib.linux-x86_64-cpython-311/greenlet
#0 107.1       creating build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 107.1       copying src/greenlet/tests/test_gc.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 107.1       copying src/greenlet/tests/__init__.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 107.1       copying src/greenlet/tests/test_version.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 107.1       copying src/greenlet/tests/test_extension_interface.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 107.1       copying src/greenlet/tests/test_stack_saved.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 107.1       copying src/greenlet/tests/test_cpp.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 107.1       copying src/greenlet/tests/test_generator.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 107.1       copying src/greenlet/tests/test_contextvars.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 107.1       copying src/greenlet/tests/test_tracing.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 107.1       copying src/greenlet/tests/test_throw.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 107.1       copying src/greenlet/tests/test_weakref.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 107.1       copying src/greenlet/tests/test_generator_nested.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 107.1       copying src/greenlet/tests/test_greenlet.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 107.1       copying src/greenlet/tests/test_leaks.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 107.1       running egg_info
#0 107.1       writing src/greenlet.egg-info/PKG-INFO
#0 107.1       writing dependency_links to src/greenlet.egg-info/dependency_links.txt
#0 107.1       writing requirements to src/greenlet.egg-info/requires.txt
#0 107.1       writing top-level names to src/greenlet.egg-info/top_level.txt
#0 107.1       reading manifest file 'src/greenlet.egg-info/SOURCES.txt'
#0 107.1       reading manifest template 'MANIFEST.in'
#0 107.1       no previously-included directories found matching 'docs/_build'
#0 107.1       warning: no files found matching '*.py' under directory 'appveyor'
#0 107.1       warning: no previously-included files matching '*.pyc' found anywhere in distribution
#0 107.1       warning: no previously-included files matching '*.pyd' found anywhere in distribution
#0 107.1       warning: no previously-included files matching '*.so' found anywhere in distribution
#0 107.1       warning: no previously-included files matching '.coverage' found anywhere in distribution
#0 107.1       adding license file 'LICENSE'
#0 107.1       adding license file 'LICENSE.PSF'
#0 107.1       adding license file 'AUTHORS'
#0 107.1       writing manifest file 'src/greenlet.egg-info/SOURCES.txt'
#0 107.1       /usr/local/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning:     Installing 'greenlet.platform' as data is deprecated, please list it in `packages`.
#0 107.1           !!
#0 107.1
#0 107.1
#0 107.1           ############################
#0 107.1           # Package would be ignored #
#0 107.1           ############################
#0 107.1           Python recognizes 'greenlet.platform' as an importable package,
#0 107.1           but it is not listed in the `packages` configuration of setuptools.
#0 107.1
#0 107.1           'greenlet.platform' has been automatically added to the distribution only
#0 107.1           because it may contain data files, but this behavior is likely to change
#0 107.1           in future versions of setuptools (and therefore is considered deprecated).
#0 107.1
#0 107.1           Please make sure that 'greenlet.platform' is included as a package by using
#0 107.1           the `packages` configuration field or the proper discovery methods
#0 107.1           (for example by using `find_namespace_packages(...)`/`find_namespace:`
#0 107.1           instead of `find_packages(...)`/`find:`).
#0 107.1
#0 107.1           You can read more about "package discovery" and "data files" on setuptools
#0 107.1           documentation page.
#0 107.1
#0 107.1
#0 107.1       !!
#0 107.1
#0 107.1         check.warn(importable)
#0 107.1       copying src/greenlet/greenlet.c -> build/lib.linux-x86_64-cpython-311/greenlet
#0 107.1       copying src/greenlet/greenlet.h -> build/lib.linux-x86_64-cpython-311/greenlet
#0 107.1       copying src/greenlet/slp_platformselect.h -> build/lib.linux-x86_64-cpython-311/greenlet
#0 107.1       creating build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/setup_switch_x64_masm.cmd -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_aarch64_gcc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_alpha_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_amd64_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_arm32_gcc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_arm32_ios.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_csky_gcc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_m68k_gcc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_mips_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_ppc64_aix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_ppc64_linux.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_ppc_aix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_ppc_linux.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_ppc_macosx.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_ppc_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_riscv_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_s390_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_sparc_sun_gcc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_x32_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_x64_masm.asm -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_x64_masm.obj -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_x64_msvc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_x86_msvc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/platform/switch_x86_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
#0 107.1       copying src/greenlet/tests/_test_extension.c -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 107.1       copying src/greenlet/tests/_test_extension_cpp.cpp -> build/lib.linux-x86_64-cpython-311/greenlet/tests
#0 107.1       warning: build_py: byte-compiling is disabled, skipping.
#0 107.1
#0 107.1       running build_ext
#0 107.1       building 'greenlet._greenlet' extension
#0 107.1       creating build/temp.linux-x86_64-cpython-311
#0 107.1       creating build/temp.linux-x86_64-cpython-311/src
#0 107.1       creating build/temp.linux-x86_64-cpython-311/src/greenlet
#0 107.1       gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/usr/local/include/python3.11 -c src/greenlet/greenlet.c -o build/temp.linux-x86_64-cpython-311/src/greenlet/greenlet.o
#0 107.1       In file included from src/greenlet/greenlet.c:11:
#0 107.1       src/greenlet/greenlet.h:42:5: error: unknown type name ‘CFrame’
#0 107.1          42 |     CFrame* cframe;
#0 107.1             |     ^~~~~~
#0 107.1       src/greenlet/greenlet.c: In function ‘green_clear_exc’:
#0 107.1       src/greenlet/greenlet.c:173:17: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
#0 107.1         173 |     g->exc_state.exc_type = NULL;
#0 107.1             |                 ^
#0 107.1       src/greenlet/greenlet.c:175:17: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
#0 107.1         175 |     g->exc_state.exc_traceback = NULL;
#0 107.1             |                 ^
#0 107.1       src/greenlet/greenlet.c: In function ‘g_switchstack’:
#0 107.1       src/greenlet/greenlet.c:528:44: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_depth’; did you mean ‘recursion_limit’?
#0 107.1         528 |         current->recursion_depth = tstate->recursion_depth;
#0 107.1             |                                            ^~~~~~~~~~~~~~~
#0 107.1             |                                            recursion_limit
#0 107.1       src/greenlet/greenlet.c:529:38: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘frame’; did you mean ‘cframe’?
#0 107.1         529 |         current->top_frame = tstate->frame;
#0 107.1             |                                      ^~~~~
#0 107.1             |                                      cframe
#0 107.1       src/greenlet/greenlet.c:552:25: warning: assignment to ‘int *’ from incompatible pointer type ‘_PyCFrame *’ [-Wincompatible-pointer-types]
#0 107.1         552 |         current->cframe = tstate->cframe;
#0 107.1             |                         ^
#0 107.1       src/greenlet/greenlet.c:577:17: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_depth’; did you mean ‘recursion_limit’?
#0 107.1         577 |         tstate->recursion_depth = target->recursion_depth;
#0 107.1             |                 ^~~~~~~~~~~~~~~
#0 107.1             |                 recursion_limit
#0 107.1       src/greenlet/greenlet.c:578:17: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘frame’; did you mean ‘cframe’?
#0 107.1         578 |         tstate->frame = target->top_frame;
#0 107.1             |                 ^~~~~
#0 107.1             |                 cframe
#0 107.1       src/greenlet/greenlet.c:601:24: warning: assignment to ‘_PyCFrame *’ from incompatible pointer type ‘int *’ [-Wincompatible-pointer-types]
#0 107.1         601 |         tstate->cframe = target->cframe;
#0 107.1             |                        ^
#0 107.1       src/greenlet/greenlet.c: In function ‘g_initialstub’:
#0 107.1       src/greenlet/greenlet.c:813:5: error: unknown type name ‘CFrame’
#0 107.1         813 |     CFrame trace_info;
#0 107.1             |     ^~~~~~
#0 107.1       src/greenlet/greenlet.c:857:18: error: incompatible types when assigning to type ‘int’ from type ‘_PyCFrame’
#0 107.1         857 |     trace_info = *PyThreadState_GET()->cframe;
#0 107.1             |                  ^
#0 107.1       src/greenlet/greenlet.c:864:17: error: request for member ‘previous’ in something not a structure or union
#0 107.1         864 |     self->cframe->previous = &PyThreadState_GET()->root_cframe;
#0 107.1             |                 ^~
#0 107.1       src/greenlet/greenlet.c:878:50: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_depth’; did you mean ‘recursion_limit’?
#0 107.1         878 |     self->recursion_depth = PyThreadState_GET()->recursion_depth;
#0 107.1             |                                                  ^~~~~~~~~~~~~~~
#0 107.1             |                                                  recursion_limit
#0 107.1       src/greenlet/greenlet.c: In function ‘green_new’:
#0 107.1       src/greenlet/greenlet.c:1018:34: warning: assignment to ‘int *’ from incompatible pointer type ‘_PyCFrame *’ [-Wincompatible-pointer-types]
#0 107.1        1018 |         ((PyGreenlet*)o)->cframe = &PyThreadState_GET()->root_cframe;
#0 107.1             |                                  ^
#0 107.1       In file included from /usr/local/include/python3.11/Python.h:45,
#0 107.1                        from src/greenlet/greenlet.h:8,
#0 107.1                        from src/greenlet/greenlet.c:11:
#0 107.1       src/greenlet/greenlet.c: In function ‘green_traverse’:
#0 107.1       src/greenlet/greenlet.c:1124:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
#0 107.1        1124 |     Py_VISIT(self->exc_state.exc_type);
#0 107.1             |                             ^
#0 107.1       /usr/local/include/python3.11/objimpl.h:199:13: note: in definition of macro ‘Py_VISIT’
#0 107.1         199 |         if (op) {                                                       \
#0 107.1             |             ^~
#0 107.1       In file included from /usr/local/include/python3.11/Python.h:38,
#0 107.1                        from src/greenlet/greenlet.h:8,
#0 107.1                        from src/greenlet/greenlet.c:11:
#0 107.1       src/greenlet/greenlet.c:1124:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
#0 107.1        1124 |     Py_VISIT(self->exc_state.exc_type);
#0 107.1             |                             ^
#0 107.1       /usr/local/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
#0 107.1          24 | #define _Py_CAST(type, expr) ((type)(expr))
#0 107.1             |                                      ^~~~
#0 107.1       /usr/local/include/python3.11/objimpl.h:200:30: note: in expansion of macro ‘_PyObject_CAST’
#0 107.1         200 |             int vret = visit(_PyObject_CAST(op), arg);                  \
#0 107.1             |                              ^~~~~~~~~~~~~~
#0 107.1       src/greenlet/greenlet.c:1124:5: note: in expansion of macro ‘Py_VISIT’
#0 107.1        1124 |     Py_VISIT(self->exc_state.exc_type);
#0 107.1             |     ^~~~~~~~
#0 107.1       In file included from /usr/local/include/python3.11/Python.h:45,
#0 107.1                        from src/greenlet/greenlet.h:8,
#0 107.1                        from src/greenlet/greenlet.c:11:
#0 107.1       src/greenlet/greenlet.c:1126:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
#0 107.1        1126 |     Py_VISIT(self->exc_state.exc_traceback);
#0 107.1             |                             ^
#0 107.1       /usr/local/include/python3.11/objimpl.h:199:13: note: in definition of macro ‘Py_VISIT’
#0 107.1         199 |         if (op) {                                                       \
#0 107.1             |             ^~
#0 107.1       In file included from /usr/local/include/python3.11/Python.h:38,
#0 107.1                        from src/greenlet/greenlet.h:8,
#0 107.1                        from src/greenlet/greenlet.c:11:
#0 107.1       src/greenlet/greenlet.c:1126:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
#0 107.1        1126 |     Py_VISIT(self->exc_state.exc_traceback);
#0 107.1             |                             ^
#0 107.1       /usr/local/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
#0 107.1          24 | #define _Py_CAST(type, expr) ((type)(expr))
#0 107.1             |                                      ^~~~
#0 107.1       /usr/local/include/python3.11/objimpl.h:200:30: note: in expansion of macro ‘_PyObject_CAST’
#0 107.1         200 |             int vret = visit(_PyObject_CAST(op), arg);                  \
#0 107.1             |                              ^~~~~~~~~~~~~~
#0 107.1       src/greenlet/greenlet.c:1126:5: note: in expansion of macro ‘Py_VISIT’
#0 107.1        1126 |     Py_VISIT(self->exc_state.exc_traceback);
#0 107.1             |     ^~~~~~~~
#0 107.1       src/greenlet/greenlet.c: In function ‘green_clear’:
#0 107.1       src/greenlet/greenlet.c:1162:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
#0 107.1        1162 |     Py_CLEAR(self->exc_state.exc_type);
#0 107.1             |                             ^
#0 107.1       /usr/local/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
#0 107.1          24 | #define _Py_CAST(type, expr) ((type)(expr))
#0 107.1             |                                      ^~~~
#0 107.1       /usr/local/include/python3.11/object.h:581:29: note: in expansion of macro ‘_PyObject_CAST’
#0 107.1         581 |         PyObject *_py_tmp = _PyObject_CAST(op); \
#0 107.1             |                             ^~~~~~~~~~~~~~
#0 107.1       src/greenlet/greenlet.c:1162:5: note: in expansion of macro ‘Py_CLEAR’
#0 107.1        1162 |     Py_CLEAR(self->exc_state.exc_type);
#0 107.1             |     ^~~~~~~~
#0 107.1       In file included from /usr/local/include/python3.11/Python.h:44,
#0 107.1                        from src/greenlet/greenlet.h:8,
#0 107.1                        from src/greenlet/greenlet.c:11:
#0 107.1       src/greenlet/greenlet.c:1162:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
#0 107.1        1162 |     Py_CLEAR(self->exc_state.exc_type);
#0 107.1             |                             ^
#0 107.1       /usr/local/include/python3.11/object.h:583:14: note: in definition of macro ‘Py_CLEAR’
#0 107.1         583 |             (op) = NULL;                        \
#0 107.1             |              ^~
#0 107.1       In file included from /usr/local/include/python3.11/Python.h:38,
#0 107.1                        from src/greenlet/greenlet.h:8,
#0 107.1                        from src/greenlet/greenlet.c:11:
#0 107.1       src/greenlet/greenlet.c:1164:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
#0 107.1        1164 |     Py_CLEAR(self->exc_state.exc_traceback);
#0 107.1             |                             ^
#0 107.1       /usr/local/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
#0 107.1          24 | #define _Py_CAST(type, expr) ((type)(expr))
#0 107.1             |                                      ^~~~
#0 107.1       /usr/local/include/python3.11/object.h:581:29: note: in expansion of macro ‘_PyObject_CAST’
#0 107.1         581 |         PyObject *_py_tmp = _PyObject_CAST(op); \
#0 107.1             |                             ^~~~~~~~~~~~~~
#0 107.1       src/greenlet/greenlet.c:1164:5: note: in expansion of macro ‘Py_CLEAR’
#0 107.1        1164 |     Py_CLEAR(self->exc_state.exc_traceback);
#0 107.1             |     ^~~~~~~~
#0 107.1       In file included from /usr/local/include/python3.11/Python.h:44,
#0 107.1                        from src/greenlet/greenlet.h:8,
#0 107.1                        from src/greenlet/greenlet.c:11:
#0 107.1       src/greenlet/greenlet.c:1164:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
#0 107.1        1164 |     Py_CLEAR(self->exc_state.exc_traceback);
#0 107.1             |                             ^
#0 107.1       /usr/local/include/python3.11/object.h:583:14: note: in definition of macro ‘Py_CLEAR’
#0 107.1         583 |             (op) = NULL;                        \
#0 107.1             |              ^~
#0 107.1       In file included from /usr/local/include/python3.11/Python.h:38,
#0 107.1                        from src/greenlet/greenlet.h:8,
#0 107.1                        from src/greenlet/greenlet.c:11:
#0 107.1       src/greenlet/greenlet.c: In function ‘green_dealloc’:
#0 107.1       src/greenlet/greenlet.c:1256:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
#0 107.1        1256 |     Py_CLEAR(self->exc_state.exc_type);
#0 107.1             |                             ^
#0 107.1       /usr/local/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
#0 107.1          24 | #define _Py_CAST(type, expr) ((type)(expr))
#0 107.1             |                                      ^~~~
#0 107.1       /usr/local/include/python3.11/object.h:581:29: note: in expansion of macro ‘_PyObject_CAST’
#0 107.1         581 |         PyObject *_py_tmp = _PyObject_CAST(op); \
#0 107.1             |                             ^~~~~~~~~~~~~~
#0 107.1       src/greenlet/greenlet.c:1256:5: note: in expansion of macro ‘Py_CLEAR’
#0 107.1        1256 |     Py_CLEAR(self->exc_state.exc_type);
#0 107.1             |     ^~~~~~~~
#0 107.1       In file included from /usr/local/include/python3.11/Python.h:44,
#0 107.1                        from src/greenlet/greenlet.h:8,
#0 107.1                        from src/greenlet/greenlet.c:11:
#0 107.1       src/greenlet/greenlet.c:1256:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
#0 107.1        1256 |     Py_CLEAR(self->exc_state.exc_type);
#0 107.1             |                             ^
#0 107.1       /usr/local/include/python3.11/object.h:583:14: note: in definition of macro ‘Py_CLEAR’
#0 107.1         583 |             (op) = NULL;                        \
#0 107.1             |              ^~
#0 107.1       In file included from /usr/local/include/python3.11/Python.h:38,
#0 107.1                        from src/greenlet/greenlet.h:8,
#0 107.1                        from src/greenlet/greenlet.c:11:
#0 107.1       src/greenlet/greenlet.c:1258:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
#0 107.1        1258 |     Py_CLEAR(self->exc_state.exc_traceback);
#0 107.1             |                             ^
#0 107.1       /usr/local/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
#0 107.1          24 | #define _Py_CAST(type, expr) ((type)(expr))
#0 107.1             |                                      ^~~~
#0 107.1       /usr/local/include/python3.11/object.h:581:29: note: in expansion of macro ‘_PyObject_CAST’
#0 107.1         581 |         PyObject *_py_tmp = _PyObject_CAST(op); \
#0 107.1             |                             ^~~~~~~~~~~~~~
#0 107.1       src/greenlet/greenlet.c:1258:5: note: in expansion of macro ‘Py_CLEAR’
#0 107.1        1258 |     Py_CLEAR(self->exc_state.exc_traceback);
#0 107.1             |     ^~~~~~~~
#0 107.1       In file included from /usr/local/include/python3.11/Python.h:44,
#0 107.1                        from src/greenlet/greenlet.h:8,
#0 107.1                        from src/greenlet/greenlet.c:11:
#0 107.1       src/greenlet/greenlet.c:1258:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
#0 107.1        1258 |     Py_CLEAR(self->exc_state.exc_traceback);
#0 107.1             |                             ^
#0 107.1       /usr/local/include/python3.11/object.h:583:14: note: in definition of macro ‘Py_CLEAR’
#0 107.1         583 |             (op) = NULL;                        \
#0 107.1             |              ^~
#0 107.1       src/greenlet/greenlet.c: In function ‘PyGreenlet_New’:
#0 107.1       src/greenlet/greenlet.c:1777:15: warning: assignment to ‘int *’ from incompatible pointer type ‘_PyCFrame *’ [-Wincompatible-pointer-types]
#0 107.1        1777 |     g->cframe = &PyThreadState_GET()->root_cframe;
#0 107.1             |               ^
#0 107.1       error: command '/usr/bin/gcc' failed with exit code 1
#0 107.1       [end of output]
#0 107.1
#0 107.1   note: This error originates from a subprocess, and is likely not a problem with pip.
#0 107.1 error: legacy-install-failure
#0 107.1
#0 107.1 × Encountered error while trying to install package.
#0 107.1 ╰─> greenlet
#0 107.1
#0 107.1 note: This is an issue with the package mentioned above, not pip.
#0 107.1 hint: See above for output from the failure.
------
failed to solve: executor failed running [/bin/sh -c pip install --no-cache-dir -r requirements.txt]: exit code: 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.