Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 带有github/bitbucket私有repos的pyinstaller更新程序_Python_Git_Ssh_Bitbucket_Paramiko - Fatal编程技术网

Python 带有github/bitbucket私有repos的pyinstaller更新程序

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_

我正在尝试将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
创建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。见: