pyinstaller更新程序与github/bitbucket私人回购

15 python git ssh bitbucket paramiko

我正在尝试将pyinstaller与私有仓库的更新功能集成.我的问题是,有没有办法将pyupdater与免费替代品集成,例如:bitbucket私有回购?Pyupdater倾向于为公共回购工作,但我无法锻炼如何为私人回购实现这一目标.

配置文件:

class ClientConfig(object):
    PUBLIC_KEY = 'None'
    APP_NAME = 'dad123'
    COMPANY_NAME = 'dad123'
    UPDATE_URLS = ['ssh://git@bitbucket.org/Tysondogerz/ssh/download']
    MAX_DOWNLOAD_RETRIES = 3
Run Code Online (Sandbox Code Playgroud)

创建一个ssh很简单:

ssh-keygen -t rsa -C"youremail@example.com"

所以…

Main.py

#!/usr/bin/env python3
from __future__ import print_function
import time
import argparse
import os
import signal
import sys
import logging
from selenium import webdriver

logging.basicConfig(level=logging.DEBUG)

from client_config import ClientConfig
from pyupdater.client import Client, AppUpdate, LibUpdate

Ssh_key  = DWDJKWNADKJWANDJKWANDWJKDNAWJKDNWAKDNWAJDKWANDJKWANDWAJKDNWAKJDWNADKJWANDWAJKDNAWJKDNWAJKDNWAJKDWNADJKWANDJKWANDKJWADNWAJKDNWAJKNWQWQDWQNDJKQWNDJKWQNDWQJKDNWQJKDNWKJDNWKJANDWJKNDWJKNDWDUWDNWDHDUIWHDIUWHDUIWHDUIWHDIUWHDUIWHDWUDHWUIHDWUDHUhottyouremail@example.com

    client = Client(ClientConfig(), ssh={'ssh_key'})

    from pyupdater.client import Client
from client_config import ClientConfig


def print_status_info(info):
    total = info.get(u'total')
    downloaded = info.get(u'downloaded')
    status = info.get(u'status')
    print downloaded, total, status


client = Client(ClientConfig())
client.refresh()

client.add_progress_hook(print_status_info)


client = Client(ClientConfig(), refresh=True,
                        progress_hooks=[print_status_info])

lib_update = client.update_check(ASSET_NAME, ASSET_VERSION)

lib_update = client.update_check(ASSET_NAME, ASSET_VERSION, channel='beta')

if lib_update is not None:
    lib_update.download()
        driver = webdriver.Firefox()
        driver.get('http://stackoverflow.com')


if __name__ == "__main__":
    main()
Run Code Online (Sandbox Code Playgroud)

Jim*_*ond 2

无法通过 SSH 访问“下载”部分。您需要通过 HTTPS 使用其他形式的身份验证来检索这些文件。(应用程序密码可能是您的最佳选择,因为它们的范围可以非常具体,并在必要时被丢弃。)