Python 带有github/bitbucket私有repos的pyinstaller更新程序
我正在尝试将pyinstaller与私有回购的更新功能集成。我的问题是,有没有一种方法可以将pyupdater与免费的替代方案集成在一起,比如:bitbucket私有回购?Pyupdater倾向于为公共回购协议工作,但我无法确定如何为私人回购协议实现这一点 配置文件:Python 带有github/bitbucket私有repos的pyinstaller更新程序,python,git,ssh,bitbucket,paramiko,Python,Git,Ssh,Bitbucket,Paramiko,我正在尝试将pyinstaller与私有回购的更新功能集成。我的问题是,有没有一种方法可以将pyupdater与免费的替代方案集成在一起,比如:bitbucket私有回购?Pyupdater倾向于为公共回购协议工作,但我无法确定如何为私人回购协议实现这一点 配置文件: class ClientConfig(object): PUBLIC_KEY = 'None' APP_NAME = 'dad123' COMPANY_NAME = 'dad123' UPDATE_
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
创建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()
无法通过SSH访问下载部分。您需要通过HTTPS使用其他形式的身份验证来检索这些文件。(这可能是您最好的选择,因为它们的作用域可以非常明确,必要时可以丢弃。)如果此相对路径是一个常量,为什么不简单地将其附加到
ClientConfig.UPDATE\u url[0]
?将代码升级为一个常量。看起来您在某些非常特定的API/库调用中遇到了错误--仅此而已,其余的都无关紧要。@user9099看起来不像完整路径,例如,尝试以下操作:您是否正在尝试对HTTPS端点进行身份验证(https://api.bitbucket.org/2.0/repositories/Tysondogerz/more/downloads
)使用SSH密钥?应用程序密码:无需重新提交我的用户名和密码即可访问?例如,公共回购协议和privacyI的应用程序密码在这里可能是错误的,这可能是一个好方法。到目前为止:SSH不可能,简单身份验证和oauth2要求您向其他人提供用户名和密码。身份验证令牌授予他们管理员权限。。。他们仍然需要用户名和密码才能登录。应用程序密钥。希望是可行的,但您可能必须交出用户名和密码:\Application密码与常规密码分开,不能用于登录GUI。您还可以限制每个应用程序密码的权限。我想您不知道如何实现?我正在阅读他们的一些文档,但它们是针对api 1.0的,旧的是。谢谢你的回答,它给了我错误400。见: