小编Har*_*758的帖子

在单个 YAML 文件中使用多个类型直接针对 Kubernetes API 使用 client-go to `kubectl apply`

我正在使用https://github.com/kubernetes/client-go并且一切正常。

我有官方 Kubernetes 仪表板的清单 (YAML):https ://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta4/aio/deploy/recommended.yaml

我想kubectl apply在 Go 代码中使用 client-go模仿这个清单。

我知道我需要将 YAML 字节进行一些(取消)编组到包中定义的正确 API 类型中:https : //github.com/kubernetes/api

我已经成功地将Create单个 API 类型添加到我的集群中,但是对于包含不同类型列表的清单,我该如何执行此操作?是否有kind: List*支持这些不同类型的资源?

我目前的解决方法是使用csplitwith --- 作为分隔符拆分 YAML 文件

csplit /path/to/recommended.yaml /---/ '{*}' --prefix='dashboard.' --suffix-format='%03d.yaml'
Run Code Online (Sandbox Code Playgroud)

接下来,我遍历创建的新 (14) 部分,读取它们的字节,打开 UniversalDeserializer 的解码器返回的对象类型,并使用我的 k8s 客户端集调用正确的 API 方法。

我想以编程方式执行此操作,以便将仪表板的任何新版本更新到我的集群中。我还需要为 Metrics Server 和许多其他资源执行此操作。另一种(可能更简单)方法是将我的代码与安装了 kubectl 的容器镜像一起发送并直接调用kubectl apply -f -; 但这意味着我还需要将 kube 配置写入磁盘,或者将其内联传递,以便 kubectl 可以使用它。

我发现这个问题很有帮助:https : //github.com/kubernetes/client-go/issues/193 解码器住在这里:https : //github.com/kubernetes/apimachinery/tree/master/pkg/runtime/序列化器 …

go kubernetes kubernetes-apiserver client-go

15
推荐指数
1
解决办法
3469
查看次数

无法导入 StreamListener

我正在尝试使用 Twitter API 在 Python 中创建数据流,但无法StreamListener正确导入。

这是我的代码:

import tweepy
from tweepy import Stream
from tweepy.streaming import StreamListener

class MyListener(StreamListener):
 
    def on_data(self, data):
        try:
            with open('python.json', 'a') as f:
                f.write(data)
                return True
        except BaseException as e:
            print("Error on_data: %s" % str(e))
        return True
 
    def on_error(self, status):
        print(status)
        return True
 
twitter_stream = Stream(auth, MyListener())
twitter_stream.filter(track=['#python'])
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Traceback (most recent call last):
  File "c:\Users\User\Documents\GitHub\tempCodeRunnerFile.python", line 6, in <module>
    from tweepy.streaming import StreamListener
ImportError: cannot import name 'StreamListener' from 'tweepy.streaming' (C:\Users\User\AppData\Local\Programs\Python\Python39\lib\site-packages\tweepy\streaming.py)
Run Code Online (Sandbox Code Playgroud)

python api twitter import tweepy

11
推荐指数
2
解决办法
2万
查看次数

Twitter API.get_user() TypeError: 采用 1 个位置参数,但给出了 2 个?

我对编码还很陌生,目前正在网上学习课程,其中我们开始使用 Twitter API。我试图捕获 Twitter 帐户的 ID 并将其显示在下面,但我不断收到此消息TypeError,并且无法弄清楚如何修复它。任何帮助将不胜感激,谢谢。我的代码

python api typeerror tweepy twitterapi-python

10
推荐指数
2
解决办法
1万
查看次数

Python 3.9 中的“AttributeError:模块‘tweepy’没有属性‘StreamListener’”

class MyStreamListener(tweepy.StreamListener):
    def on_status(self, status):
        print(status.text)  # prints every tweet received

    def on_error(self, status_code):
        if status_code == 420:  # end of monthly limit rate (500k)
            return False
Run Code Online (Sandbox Code Playgroud)

我使用 Python 3.9 并通过 pip 安装 Tweepy。我AttributeError在课堂上接到了电话。我的进口只是import tweepy. 身份验证得到正确处理。在streaming.py文件中,我有类Stream. 但使用这个类就到此为止了。例如status.text,即使有该on_status功能,也没有。我有点困惑。

python twitter attributes tweepy

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

Tweepy: tweepy.errors.Unauthorized: 401 需要授权

我期待使用以下 Tweepy 代码从我的 Twitter 个人资料中提取一些数据:

import tweepy

client = tweepy.Client(consumer_key=consumer_key, consumer_secret=consumer_secret,
                                   access_token=access_token, access_token_secret=access_token_secret)

client.get_tweets(ids=[user_id], tweet_fields=["public_metrics"], expansions=["attachments.media_keys"],
                              media_fields=["public_metrics"])
Run Code Online (Sandbox Code Playgroud)

问题是,由于某种原因,我收到以下错误:tweepy.errors.Unauthorized: 401 Authorization Required,并且我知道我的凭据有效,因为我成功通过了测试,如下所示:

lookup_users = api.lookup_users(screen_name=screen_name)
Run Code Online (Sandbox Code Playgroud)

这里的问题是我必须授权帐户/应用程序/项目才能获取此数据,但我还没有找到与授予这些授权相关的文档。

我如何授权我的应用程序从帐户获取此信息?

python twitter tweepy

6
推荐指数
1
解决办法
2585
查看次数

使用 Twitter API 时收到“Stream遇到 HTTP 错误:403”。是什么原因导致此错误以及如何修复它?

我对使用 Twitter API 非常陌生,并且正在测试一些 Python 代码(如下)

from tweepy import OAuthHandler 
from tweepy import Stream

import twitter_credentials

class StdOutListener(Stream):
    def on_data(self, data):
        print(data)
        return True

    def on_error(self, status):
        print(status)

twitter_stream = StdOutListener(
  twitter_credentials.CONSUMER_KEY, twitter_credentials.CONSUMER_KEY_SECERET,
  twitter_credentials.ACCESS_TOKEN, twitter_credentials.ACCESS_TOKEN_SECERET
)
twitter_stream.filter(track=['#bitcoin'])
Run Code Online (Sandbox Code Playgroud)

但每当我尝试运行它时,它都会重复出现错误“Stream遇到HTTP错误:403”。我检查了 Twitter API 响应代码,错误 403 被列为禁止请求。

以下是我已经采取的一些故障排除步骤:

  1. 尝试了新的访问密钥/消费者密钥
  2. 尝试创建一个新的开发者帐户
  3. 卸载并重新安装 tweepy

这些都不适合我。那么是什么导致了这个错误以及如何修复它呢?谢谢。

python twitter tweepy

5
推荐指数
1
解决办法
6036
查看次数

字节表示中的 \t 和 \r 是什么?

import sys
for i in range(30):
#     a = int(str(i),base = 16).to_bytes(4,sys.byteorder)
    a = i.to_bytes(4,sys.byteorder)
    print(a)
Run Code Online (Sandbox Code Playgroud)

这里sys.byteorder似乎是‘小’。上述代码的输出是:

b'\x00\x00\x00\x00'
b'\x01\x00\x00\x00'
b'\x02\x00\x00\x00'
b'\x03\x00\x00\x00'
b'\x04\x00\x00\x00'
b'\x05\x00\x00\x00'
b'\x06\x00\x00\x00'
b'\x07\x00\x00\x00'
b'\x08\x00\x00\x00'
b'\t\x00\x00\x00'
b'\n\x00\x00\x00'
b'\x0b\x00\x00\x00'
b'\x0c\x00\x00\x00'
b'\r\x00\x00\x00'
b'\x0e\x00\x00\x00'
b'\x0f\x00\x00\x00'
b'\x10\x00\x00\x00'
b'\x11\x00\x00\x00'
b'\x12\x00\x00\x00'
b'\x13\x00\x00\x00'
b'\x14\x00\x00\x00'
b'\x15\x00\x00\x00'
b'\x16\x00\x00\x00'
b'\x17\x00\x00\x00'
b'\x18\x00\x00\x00'
b'\x19\x00\x00\x00'
b'\x1a\x00\x00\x00'
b'\x1b\x00\x00\x00'
b'\x1c\x00\x00\x00'
b'\x1d\x00\x00\x00'
Run Code Online (Sandbox Code Playgroud)

b'\t\x00\x00\x00'请注意,这里的整数 9与类似的奇怪字符(例如0xa和 )一起写得令人讨厌0xd

这是一种异常还是我缺乏对这些符号的了解?我的Python版本是3.8.2。

python binary byte python-3.x

4
推荐指数
1
解决办法
6684
查看次数

Tweepy 错误“API”对象没有属性“me”

我正在尝试在 Replit 上运行https://github.com/CreepyD246/Twitter-Reply-Bot/blob/main/TwitterReplyBot.py中的代码。

#Importing modules/libraries
import tweepy
import time
import os

# Initialization code
auth = tweepy.OAuthHandler(os.getenv("key2"),os.getenv("skey2"))
auth.set_access_token(os.getenv("token2"),os.getenv("stoken2"))
api = tweepy.API(auth)

# Some important variables which will be used later
bot_id = int(api.me().id_str)
#Other things after
Run Code Online (Sandbox Code Playgroud)

但我收到这个错误:

Traceback (most recent call last):
File "main.py", line 12, in <module>
bot_id = int(api.me().id_str)
AttributeError: 'API' object has no attribute 'me'
Run Code Online (Sandbox Code Playgroud)

我在 Tweepy 的文档中没有找到任何相关内容,API.me()那么到底出了什么问题呢?Tweepy 版本是 4.1.0。

python tweepy

4
推荐指数
1
解决办法
4182
查看次数

AttributeError:“API”对象没有属性“followers_ids”

我正在尝试使用 Tweepy 从特定用户中提取关注者列表。但是,我遇到了一个错误,说AttributeError: 'API' object has no attribute 'followers_ids'. 然而,这段代码在另一台机器上运行顺利,但在我的机器上运行不佳。我尝试重新安装 Tweepy 但没有任何改变。请帮忙TT

    import os
    import sys
    import json
    import time
    import math
    from tweepy import Cursor
    import tweepy
    from tweepy import OAuthHandler
    import datetime
    
    auth = OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_token, access_token_secret)
    api = tweepy.API(auth, wait_on_rate_limit=True)
    
    MAX_FRIENDS = 10000
    
    def paginate(items, n):
        """Generate n-sized chunks from items"""
        for i in range(0, len(items), n):
            yield items[i:i+n]
        
    def get_followers(screen_name):
        # get followers for a given user
        fname = "users/{}/followers.json".format(screen_name)
        max_pages = math.ceil(MAX_FRIENDS …
Run Code Online (Sandbox Code Playgroud)

python tweepy jupyter-notebook

4
推荐指数
1
解决办法
6244
查看次数

如何让 Discord 机器人删除用户对 Discord.py 中的消息的反应?

我正在使用@client.eventand usingasync def on_raw_reaction_add(payload):来读取不和谐反应事件。当用户未通过我的代码中的标志之一时,我需要能够删除用户反应。我在文档中看到有,await remove(user)但我认为我没有正确使用它。有什么建议么?

python python-3.x discord.py

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

如何使用 tweepy 3.10.0 回复计数和引用计数?

我正在尝试执行quote_countreply_count使用 Twitter Tweepy API,但我找不到有关如何执行此操作的正确更新文档。

https://developer.twitter.com/en/docs/twitter-api/metrics

我有一些来自 Tweepy 的 Twitter API 版本 1 的工作代码来获取我使用的一些数据,但我找不到有关如何通过 Tweepy 提取reply_countquote_count使用 Twitter API 版本 2 的良好信息。

import tweepy

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth, proxy=proxy)

public_tweets = api.user_timeline()
Run Code Online (Sandbox Code Playgroud)

python twitter tweepy

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

使用 discord.py 允许一个命令具有多个角色

我将如何制作它以便管理员或版主可以清除 Discord 聊天?

@commands.has_role("Admin")
async def addrole(ctx, rol='member'):
    member = ctx.message.author
    role = get(member.server.roles, name=rol)
    await bot.add_roles(member, role)
Run Code Online (Sandbox Code Playgroud)

python discord.py

2
推荐指数
1
解决办法
1803
查看次数

Tweepy 3.10.0,AttributeError:模块“tweepy”没有属性“Client”

我正在尝试将 Twitter API 的版本 2 与 tweepy 3.10.0 一起使用,但在遵循文档https://docs.tweepy.org/en/latest/client.html时我感到困惑

当我尝试设置 API 时,如下例所示:

import tweepy

client = tweepy.Client(consumer_key=consumer_key, 
                                consumer_secret=consumer_secret,
                                access_token=access_token, 
                                access_token_secret=access_token_secret)

   
Run Code Online (Sandbox Code Playgroud)

我收到此错误:属性错误:module 'tweepy' has no attribute 'Client'

我之前使用过 Tweepy,它适用于我配置的一些测试,但我需要使用版本 2,因为我想执行此版本 API 的一些功能。

我的错误是什么?

python tweepy

2
推荐指数
1
解决办法
1万
查看次数