Python 使用带有密钥的github

Python 使用带有密钥的github,python,github,Python,Github,我有一个Python脚本,其中包含tweeterapi的密钥。我想使用Github控制脚本的版本。在上传到Github的同时,如何对密钥保密?也就是说,这些 KEY = "" KEY_SECRET = "" TOKEN = "" TOKEN_SECRET = "" 应该保密。也许我可以把它们放在另一个文件中,然后加载它们,但是。gitignor'ing说的文件?正确的模式是什么?正如所暗示的,一个好主意是将所有机密信息保存在一个独立的文件中,该文件不受版本控制,即:git不知道。您可以通过将其

我有一个Python脚本,其中包含tweeterapi的密钥。我想使用Github控制脚本的版本。在上传到Github的同时,如何对密钥保密?也就是说,这些

KEY = ""
KEY_SECRET = ""
TOKEN = ""
TOKEN_SECRET = ""
应该保密。也许我可以把它们放在另一个文件中,然后加载它们,但是。gitignor'ing说的文件?正确的模式是什么?

正如所暗示的,一个好主意是将所有机密信息保存在一个独立的文件中,该文件不受版本控制,即:git不知道。您可以通过将其添加到
.gitignore
文件来完成此操作

# project/.gitignore

passwords.py

# project/passwords.py

GITHUB_KEY = '123'
GITHUB_KEY_SECRET = 'ABC'
GITHUB_TOKEN = '456'
GITHUB_TOKEN_SECRET = 'XYZ'

# project/my_script.py

from passwords import GITHUB_KEY, GITHUB_KEY_SECRET, GITHUB_TOKEN, GITHUB_TOKEN_SECRET

KEY = GITHUB_KEY
KEY_SECRET = GITHUB_KEY_SECRET
TOKEN = GITHUB_TOKEN
TOKEN_SECRET = GITHUB_TOKEN_SECRET
有了它,您可以安全地将代码提交到GitHub,在那里每个人都可以看到您的项目-但是您的机密信息和密码在哪里都看不到

在项目中,您现在可以读取(或导入)该文件并使用其中保存的信息

请记住,当您(或其他人)访问此项目时,您必须确保您的“机密”文件存在,因为您的项目依赖于它

在我的项目中,创建这个“机密”文件是部署脚本的一部分。比如:

echo '{"password": "123"}' > config.json && git checkout master

这行代码将(简单的)设置文件写入
config.json
,然后才从主分支检索最新的代码版本。

您刚才所说的。将您的凭据保存在不属于存储库的配置文件中,并将其放入
.gitignore
中,以避免意外添加凭据。只需强调,您永远不应将凭据上载到gibhub,即使上载时间不超过5分钟:存在为其提供凭据的机器人程序,并且(对于Amazon密钥)滥用它们来开采比特币。不理解你的想法。。。你是说当git提交时,我们手动更改密钥?不,你将密码保存在一个根本不包含在版本控制中的文件中。通过将该文件的路径添加到“.gitignore”,可以使其不受版本控制。然后,当应用程序中需要该密码时,只需导入指向密码的变量。@liuzhidong-这里的意思是包含实际密钥的
passwords.py
文件没有插入到版本控制中,因此无法在github上查看。您需要确保此文件存在,因为使用
git checkout
不会在新位置创建该文件。