小编ara*_*lli的帖子

pip 从私人 github 存储库安装包,并在 docker 中部署密钥

我正在尝试构建一个 Docker 容器,该容器应该从 requests.txt 文件安装一系列 python 包。其中一个条目是托管在私有 GitHub 存储库上的 python 包。为了安装它,我创建了一对 SSH 密钥,并将公共密钥作为部署密钥添加到 GitHub 存储库。

\n

但是,当我构建容器时,我收到此错误:

\n
ERROR: Command errored out with exit status 128: git clone -q 'ssh://****@github.com:organization/my-package' /tmp/pip-install-e81w4wri/my-package Check the logs for full command output.\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试通过更改 docker 文件的 pip install 命令来调试错误,RUN git clone git@github.com:organization/my-package.git并且效果很好。

\n

这个错误是什么意思以及如何解决它?我可以克隆它并使用专用命令安装它,但如果可能的话,我想将所有要求保留在一个地方。谢谢!

\n

这是我正在使用的 Dockerfile:

\n
FROM joyzoursky/python-chromedriver:3.7-alpine3.8 as base\n\nFROM base as builder\n\nRUN echo "http://dl-8.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories\nRUN apk --no-cache --update-cache add bash gcc gfortran build-base git wget freetype-dev …
Run Code Online (Sandbox Code Playgroud)

python ssh pip github docker

7
推荐指数
1
解决办法
6442
查看次数

为什么 Python 对象的多个实例表现得好像它们是一样的?

我遇到过这种乍一看似乎违反直觉的 python 行为:我有两个对象,SimulationSimulationResults,定义如下:

class Simulation:
    def run_sim_1(self):
        results_logger_1 = SimulationResults()
        for _ in range(10):
            results_logger_1.append(1)
        return results_logger_1

    def run_sim_2(self):
        results_logger_2 = SimulationResults()
        for _ in range(10):
            results_logger_2.append(2)
        return results_logger_2

class SimulationResults:
    results = []

    def append(self,n):
        self.results.append(n)
Run Code Online (Sandbox Code Playgroud)

在这两种 Simulation 方法中,我实例化了一个SimulationResult对象:results_logger_1results_logger_2。我的期望是这两个实例将在每个方法的上下文中定义,然后通过返回它们将它们带出它,因此我期望两个明确定义的实例。

但是,当我运行代码时,结果发现这两个实例似乎是(或指向)同一个对象。

sim_1= Simulation()
results_1 = sim_1.run_sim_1() 
print(len(results_1.results)) # 10, as expected right!
print(results_1.results) # [1,1,1,1,1,1,1,1,1,1] also as expected

results_2 = sim_1.run_sim_2()
print(len(results_2.results)) # this is 20, rather than 10
print(results_2.results) …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

3
推荐指数
1
解决办法
43
查看次数

标签 统计

python ×2

docker ×1

github ×1

pip ×1

python-3.x ×1

ssh ×1