How to write setup.py to include a git repo as a dependency

前端 未结 6 1954
感情败类
感情败类 2020-12-02 10:16

I am trying to write setup.py for my package. My package needs to specify a dependency on another git repo.

This is what I have so far:



        
6条回答
  •  萌比男神i
    2020-12-02 10:44

    I was successful with these 3 options in gitlab. I am using version 11 of gitlab.

    option 1 - no token specified. shell will prompt for username/password.

    from setuptools import setup
    
    TOKEN_VALUE = os.getenv('EXPORTED_VAR_WITH_TOKEN')
    
    setup(
        install_requires=[
            "SomePrivateLib @ git+https://gitlab.server.com/abc/SomePrivateLib.git@0.1.0#egg=SomePrivateLib"
        ]
    )
    

    option 2 - user access token specified. token generated by going to gitlab > account top right > settings > access tokens. create token with read_repository rights.

    example:

    import os
    from setuptools import setup
    
    TOKEN_VALUE = os.getenv('EXPORTED_VAR_WITH_TOKEN')
    
    setup(
        install_requires=[
            f"SomePrivateLib @ git+https://gitlab-ci-token:{TOKEN_VALUE}@gitlab.server.com/abc/SomePrivateLib.git@0.1.0#egg=SomePrivateLib"
        ]
    )
    

    option 3 - repository-level token specified. token generated by going to the repository > settings > repository > deploy tokens. from here create a token with read_repository rights.

    example:

    import os
    from setuptools import setup
    
    TOKEN_USER = os.getenv('EXPORTED_TOKEN_USER')
    TOKEN_VALUE = os.getenv('EXPORTED_VAR_WITH_TOKEN')
    
    setup(
        install_requires=[
            f"SomePrivateLib @ git+https://{TOKEN_USER}:{TOKEN_VALUE}@gitlab.server.com/abc/SomePrivateLib.git@0.1.0#egg=SomePrivateLib"
        ]
    )
    

    In all 3, I was able to do simply: "SomePrivateLib @ git+https://gitlab.server.com/abc/SomePrivateLib.git" without the #egg marking at the end.

提交回复
热议问题