Skip to content

Conversation

@phamquiluan
Copy link
Contributor

Fixed #592

Signed-off-by: Luan Pham <luan@cinnamon.is>
@bfirsh
Copy link
Member

bfirsh commented May 9, 2022

Nice, thanks! This is an intriguing problem. Do you know why this might be fixing this issue?

@zeke zeke changed the title Fixes #592 update pillow and tensorflow versions in getting started guide May 9, 2022
@phamquiluan
Copy link
Contributor Author

@bfirsh
It seems to me that the "dependency hell" is the root cause since tensorflow==2.5.0 requires typing-extensions~=3.7.4 and starlette requires typing-extensions as Any but it asks for ParamSpec which has appeared since v4.1.0 https://github.com/python/typing/blob/master/typing_extensions/CHANGELOG.md

We can take a look at the pipdeptree output

root@d765a69562bc:/src# pipdeptree                                                                                     
cog==0.0.1                                                                                                             
  - fastapi [required: >=0.6,<1, installed: 0.76.0]                                                                    
    - pydantic [required: >=1.6.2,<2.0.0,!=1.8.1,!=1.8,!=1.7.3,!=1.7.2,!=1.7.1,!=1.7, installed: 1.9.0]                                                                                                                                       
      - typing-extensions [required: >=3.7.4.3, installed: 3.7.4.3]                                                    
    - starlette [required: ==0.18.0, installed: 0.18.0]                                                                
      - anyio [required: >=3.0.0,<4, installed: 3.5.0]                                                                 
        - idna [required: >=2.8, installed: 3.3]                                                                       
        - sniffio [required: >=1.1, installed: 1.2.0]                                                                  
      - typing-extensions [required: Any, installed: 3.7.4.3]                                                          
  - pydantic [required: >=1,<2, installed: 1.9.0]                                                                      
    - typing-extensions [required: >=3.7.4.3, installed: 3.7.4.3]                                                      
  - PyYAML [required: Any, installed: 6.0]                                                                             
  - redis [required: >=4,<5, installed: 4.3.0]                                                                         
    - async-timeout [required: >=4.0.2, installed: 4.0.2]                                                              
    - deprecated [required: >=1.2.3, installed: 1.2.13]                                                                
      - wrapt [required: >=1.10,<2, installed: 1.12.1]                                                                 
    - packaging [required: >=20.4, installed: 21.3]                                                                    
      - pyparsing [required: >=2.0.2,!=3.0.5, installed: 3.0.8]                                                        
  - requests [required: >=2,<3, installed: 2.27.1]                                                                     
    - certifi [required: >=2017.4.17, installed: 2021.10.8]                                                            
    - charset-normalizer [required: ~=2.0.0, installed: 2.0.12]                                                        
    - idna [required: >=2.5,<4, installed: 3.3]                                                                        
    - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.9]                                                            
  - typing-extensions [required: >=3.7.4, installed: 3.7.4.3]                                                          
  - uvicorn [required: >=0.12,<1, installed: 0.17.6]                                                                   
    - asgiref [required: >=3.4.0, installed: 3.5.1]                                                                    
    - click [required: >=7.0, installed: 8.1.3]                                                                        
    - h11 [required: >=0.8, installed: 0.13.0]                                                                         
httptools==0.4.0                                                                                                       
pipdeptree==2.2.1                                                                                                      
  - pip [required: >=6.0.0, installed: 22.0.4]                                                                         
python-dotenv==0.20.0                                                                                                  
tensorflow==2.5.0                                                                                                      
  - absl-py [required: ~=0.10, installed: 0.15.0]                                                                      
    - six [required: Any, installed: 1.15.0]                                                                           
  - astunparse [required: ~=1.6.3, installed: 1.6.3]                                                                   
    - six [required: >=1.6.1,<2.0, installed: 1.15.0]                                                                  
    - wheel [required: >=0.23.0,<1.0, installed: 0.37.1]                                                               
  - flatbuffers [required: ~=1.12.0, installed: 1.12]                                                                  
  - gast [required: ==0.4.0, installed: 0.4.0]                                                                         
  - google-pasta [required: ~=0.2, installed: 0.2.0]                                                                   
    - six [required: Any, installed: 1.15.0]                                                                           
  - grpcio [required: ~=1.34.0, installed: 1.34.1]                                                                     
    - six [required: >=1.5.2, installed: 1.15.0]                                                                       
  - h5py [required: ~=3.1.0, installed: 3.1.0]                                                                         
    - numpy [required: >=1.17.5, installed: 1.19.5]                                                                    
  - keras-nightly [required: ~=2.5.0.dev, installed: 2.5.0.dev2021032900]                                              
  - keras-preprocessing [required: ~=1.1.2, installed: 1.1.2]                                                          
    - numpy [required: >=1.9.1, installed: 1.19.5]                                                                     
    - six [required: >=1.9.0, installed: 1.15.0]                                                                       
  - numpy [required: ~=1.19.2, installed: 1.19.5]                                                                      
  - opt-einsum [required: ~=3.3.0, installed: 3.3.0]                                                                   
    - numpy [required: >=1.7, installed: 1.19.5]                                                                       
  - protobuf [required: >=3.9.2, installed: 3.20.1]                                                                    
  - six [required: ~=1.15.0, installed: 1.15.0]                                                                        
  - tensorboard [required: ~=2.5, installed: 2.9.0]                                                                    
    - absl-py [required: >=0.4, installed: 0.15.0]                                                                     
      - six [required: Any, installed: 1.15.0]                                                                         
    - google-auth [required: >=1.6.3,<3, installed: 2.6.6]                                                             
      - cachetools [required: >=2.0.0,<6.0, installed: 5.0.0]                                                          
      - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]                                                           
        - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]                                                          
      - rsa [required: >=3.1.4,<5, installed: 4.8]                                                                     
        - pyasn1 [required: >=0.1.3, installed: 0.4.8]                                                                 
      - six [required: >=1.9.0, installed: 1.15.0]                                                                     
    - google-auth-oauthlib [required: >=0.4.1,<0.5, installed: 0.4.6]                                                  
      - google-auth [required: >=1.0.0, installed: 2.6.6]                                                              
        - cachetools [required: >=2.0.0,<6.0, installed: 5.0.0]                                                        
        - pyasn1-modules [required: >=0.2.1, installed: 0.2.8]                                                         
          - pyasn1 [required: >=0.4.6,<0.5.0, installed: 0.4.8]                                                        
        - rsa [required: >=3.1.4,<5, installed: 4.8]                                                                   
          - pyasn1 [required: >=0.1.3, installed: 0.4.8]                                                               
        - six [required: >=1.9.0, installed: 1.15.0]                                                                   
      - requests-oauthlib [required: >=0.7.0, installed: 1.3.1]                                                        
        - oauthlib [required: >=3.0.0, installed: 3.2.0]                                                               
        - requests [required: >=2.0.0, installed: 2.27.1]                                                              
          - certifi [required: >=2017.4.17, installed: 2021.10.8]                                                      
          - charset-normalizer [required: ~=2.0.0, installed: 2.0.12]                                                  
          - idna [required: >=2.5,<4, installed: 3.3]                                                                  
          - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.9]                                                      
    - grpcio [required: >=1.24.3, installed: 1.34.1]                                                                   
      - six [required: >=1.5.2, installed: 1.15.0]                                                                     
    - markdown [required: >=2.6.8, installed: 3.3.7]                                                                   
      - importlib-metadata [required: >=4.4, installed: 4.11.3]                                                        
        - zipp [required: >=0.5, installed: 3.8.0]                                                                     
    - numpy [required: >=1.12.0, installed: 1.19.5]                                                                    
    - protobuf [required: >=3.9.2, installed: 3.20.1]                                                                  
    - requests [required: >=2.21.0,<3, installed: 2.27.1]                                                              
      - certifi [required: >=2017.4.17, installed: 2021.10.8]                                                          
      - charset-normalizer [required: ~=2.0.0, installed: 2.0.12]                                                      
      - idna [required: >=2.5,<4, installed: 3.3]                                                                      
      - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.9]                                                          
    - setuptools [required: >=41.0.0, installed: 57.5.0]                                                               
    - tensorboard-data-server [required: >=0.6.0,<0.7.0, installed: 0.6.1]                                             
    - tensorboard-plugin-wit [required: >=1.6.0, installed: 1.8.1]                                                     
    - werkzeug [required: >=1.0.1, installed: 2.1.2]                                                                   
    - wheel [required: >=0.26, installed: 0.37.1]                                                                      
  - tensorflow-estimator [required: >=2.5.0rc0,<2.6.0, installed: 2.5.0]                                               
  - termcolor [required: ~=1.1.0, installed: 1.1.0]                                                                    
  - typing-extensions [required: ~=3.7.4, installed: 3.7.4.3]                                                          
  - wheel [required: ~=0.35, installed: 0.37.1]                                                                        
  - wrapt [required: ~=1.12.1, installed: 1.12.1]                                                                      
uvloop==0.16.0                                                                                                         
watchgod==0.8.2                                                                                                        
  - anyio [required: >=3.0.0,<4, installed: 3.5.0]                                                                     
    - idna [required: >=2.8, installed: 3.3]                                                                           
    - sniffio [required: >=1.1, installed: 1.2.0]                                                                      
websockets==10.3                                                                                                       
root@d765a69562bc:/src# 

bfirsh added a commit that referenced this pull request May 10, 2022
See #593 (comment)

This will be properly fixed by
#409

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
@bfirsh
Copy link
Member

bfirsh commented May 10, 2022

Yikes. Thank you. This is another safeguard: #598

I think the proper fix is vendoring a compatible version of typing-extensions: #409

@bfirsh bfirsh merged commit 04726d5 into replicate:main May 10, 2022
@bfirsh
Copy link
Member

bfirsh commented May 10, 2022

Thanks again for hunting this down and providing all that detailed information! Super helpful.

@zeke
Copy link
Member

zeke commented May 11, 2022

@all-contributors please add @phamquiluan for bugs and docs

bfirsh added a commit that referenced this pull request May 11, 2022
See #593 (comment)

This will be properly fixed by
#409

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
@allcontributors
Copy link
Contributor

@zeke

I've put up a pull request to add @phamquiluan! 🎉

bfirsh added a commit to replicate/cog-examples that referenced this pull request May 17, 2022
Jupev6 added a commit to Jupev6/cog that referenced this pull request Aug 11, 2024
See replicate/cog#593 (comment)

This will be properly fixed by
replicate/cog#409

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
apollo0202 pushed a commit to apollo0202/doc that referenced this pull request Feb 28, 2025
See replicate/cog#593 (comment)

This will be properly fixed by
replicate/cog#409

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ImportError: cannot import name 'ParamSpec' from 'typing_extensions'

3 participants