小编NYC*_*yes的帖子

支持多个Python模块版本(具有相同的Python版本)

我环顾四周,但找不到明确的答案。

我非常需要支持同一Python模块的N版本。

如果它们存储在相同的包/目录中,则它们必须具有唯一的名称,如以下示例所示:

      .../some/package/my_module_1.0.py
      .../some/package/my_module_1.1.py
      .../some/package/my_module_2.0.py
              -- etc. --
Run Code Online (Sandbox Code Playgroud)

然后,每个人都将通过“ version ”属性存储其版本号。

然后,使用程序将导入所需的正确版本(例如:import my_module_1.1)。

这是完成此多模块版本需求的最佳方法(也是最Python的方法)吗?

谢谢!

python import module version multi-module

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

将包装函数定义中收到的**kwargs传递给封闭(即包装)函数调用的参数

哦,亲爱的,我希望我的头衔正确.:)

如何将提供给包装函数 定义的**kwargs传递给它包装的另一个(封闭的)函数调用.例如:

def wrapped_func(**kwargs):
   # Do some preparation stuff here.
   func('/path/to/file.csv', comma_separated_key=value_injected_here)
   # Do some other stuff.
Run Code Online (Sandbox Code Playgroud)

例如,这个电话:

wrapped_func(error_bad_lines=True, sep=':', skip_footer=0, ...)
Run Code Online (Sandbox Code Playgroud)

应该导致:

func('/path/to/file.csv', error_bad_lines=True, sep=':', skip_footer=0, ...)
Run Code Online (Sandbox Code Playgroud)

在过去的几个小时里,我已经采用了各种方法,但每种方法都暴露了类型保留漏洞(对于价值观).我之前没有使用过这种特殊的包装模式,并且想知道社区是否可以提供一些帮助.先感谢您.

python function kwargs

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

pyvenv返回非零退出状态1(在pip阶段的安装期间)

如果在通过pyvenv命令创建Python虚拟环境时遇到以下错误:

user$ pyvenv my_venv_dir
Error: Command '['/home/user/my_venv_dir/bin/python', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1
Run Code Online (Sandbox Code Playgroud)

问题答案(下面)提供了一种简单的方法来解决它,而无需通过setuptools和相关的杂技.

python pip virtualenv python-venv

3
推荐指数
2
解决办法
3141
查看次数

PIG(v0.10.0)在FILTER操作期间除外:java.lang.Integer无法强制转换为java.lang.String

这是我的(看似琐碎的)PIG脚本,后面是它生成的异常:

raw_logs = LOAD './Apache-WebLog-Samples.d/access_log.txt' USING TextLoader() AS (line:chararray);

logs = FOREACH raw_logs GENERATE FLATTEN (
    REGEX_EXTRACT_ALL(line, '^(\\S+)\\s+(\\S+)\\s+(\\S+)\\s+\\[([\\w:/]+\\s[+\\-]\\d{4})\\]\\s+"(..*)"\\s+(\\S+)\\s+(\\S+)'))
       AS (remoteAddr:    chararray,
           remoteLogname: chararray,
           user:          chararray,
           date_time:     chararray, 
           request:       chararray,
           httpStatus:          int, <- Here's the problem. But goes away when I set to chararray.
           numBytes:            int);

httpGET200 = FILTER logs BY (request MATCHES '^GET\\s.*') AND (httpStatus == 200);

mylimit = LIMIT httpGET200 40;

DUMP mylimit;
Run Code Online (Sandbox Code Playgroud)

猪脚本

java.lang.Exception: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
    at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:404)
Caused by: java.lang.ClassCastException: java.lang.Integer cannot …
Run Code Online (Sandbox Code Playgroud)

hadoop mapreduce exception apache-pig

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

Python ::超类中的属性在继承子类中不可用

我想知道为什么下面的失败:基本上,继承子类(SubClass)似乎无权访问其继承的超类(SuperClass)中的属性。

顺便说一下,下面的所有三个文件都在同一目录中,为了完整起见,我使用的是Python3。

有任何想法吗?我认为这非常简单。谢谢!

超类(./super_class.py中的SuperClass) ...

class SuperClass(object):

   def __init__(self):
      self.varSuper = 'varSuper_value'
Run Code Online (Sandbox Code Playgroud)

继承的子类(子类./sub_class.py) ...

from super_class import SuperClass

class SubClass(SuperClass):

  def __init__(self):
     super(SuperClass, self).__init__()
     self.varSub = 'varSub_value'
Run Code Online (Sandbox Code Playgroud)

驱动程序/测试脚本(./driver.py) ...

#! /usr/bin/env python3

from sub_class import SubClass

print(SubClass().varSub)    # Works: "varSub_value"
print(SubClass().varSuper)  # Excepts: I expected "varSuper_value"
Run Code Online (Sandbox Code Playgroud)

例外...

user@linux$ ./driver.py
varSub_value                                  <--- GOOD
Traceback (most recent call last):
  File "./driver.py", line 6, in <module>
    print(SubClass().varSuper)                <--- NO GOOD
AttributeError: 'SubClass' …
Run Code Online (Sandbox Code Playgroud)

python inheritance subclass superclass

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

PySpark 2.4:类型错误:列不可迭代(使用 F.col())

以下给了我一个TypeError: Column is not iterable例外:

from pyspark.sql import functions as F

df = spark_sesn.createDataFrame([Row(col0 = 10,
                                     col2 = 'ten',
                                     col3 = 10.0),])

df.withColumn('key',        F.lit('1')) # This succeeds.
df.withColumn(F.col('key'), F.lit('1')) # This causes an exception. <---- TypeError
Run Code Online (Sandbox Code Playgroud)

您可能想知道为什么我要使用第二种变体。这是因为我需要访问.alias()添加metadata到该列的方法,如下所示:

df.withColumn(F.col('key').alias('key', metadata={'foo':'bar'}), F.lit('1'))
Run Code Online (Sandbox Code Playgroud)

我们如何让第二个变体工作和/或插入metadata所需的?请记住,真实DataFrame已经存在(也就是说,我无法像在这个简单示例中那样从头开始创建)。

谢谢!=:)

python apache-spark apache-spark-sql pyspark

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

在 Kubernetes 设置期间保持我的服务器 O/S 的静态 IP 地址

我有一个新手 Kubernetes 设置问题,我找不到答案。也许社区朋友可以帮助我。

我的设置

我有一个使用强大的 PC 创建的个人研发实验室,运行:

  • Fedora-30 (外部Host O/S)
  • 多个LXCO/S 容器(作为来宾运行CentOS-8
  • Docker CE在这些LXC来宾容器中嵌套和运行

使用此设置,我能够改变此环境的“个性”以承担各种技术和应用程序开发堆栈。

现在,外部 Host 和 LXC Guest O/S' 在与我的个人(家庭)网络上的任何其他设备相同的子网上都有静态 IP 地址(主要bridged是因为它更容易)。此问题的相关主机和 IP 地址是:

  • Fedora-30 外部主机(PC): 192.168.0.16/24
  • vps10 (CentOS-8)LXC 客人:192.168.0.180/24--k8s00
  • vps11 (CentOS-8)LXC 客人:192.168.0.181/24--k8s01
  • vps12 (CentOS-8)LXC 客人:192.168.0.182/24--k8s02
  • vps13 (CentOS-8)LXC 客人:192.168.0.183/24--k8s03

我想设置一个小型 Kubernetes 集群,k8s00(上图)是主节点,和k8s01,k8s02k8s03 …

docker kubernetes kubernetes-pod

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

Cloudera/CDH v6.1.x + Python HappyBase v1.1.0: TTransportException(type=4, message='TSocket 读取 0 字节')

编辑:此问题和答案适用于遇到主题行中所述异常的任何人:TTransportException(type=4, message='TSocket read 0 bytes');无论是否涉及 Cloudera 和/或 HappyBase。

根本问题(事实证明)源于正在实现的内容的不匹配和protocol/或transport格式,并且任何客户端/服务器配对都可能发生这种情况。我的恰好是Cloudera 和 HappyBase,但你的不一定是,你也可能会遇到同样的问题。client-sideserver-side

最近有没有人尝试过使用Python 包与onhappybase v1.1.0 (latest)进行交互?HbaseCloudera CDH v6.1.x

我正在尝试各种选项,但不断出现异常:

thriftpy.transport.TTransportException:
TTransportException(type=4, message='TSocket read 0 bytes')
Run Code Online (Sandbox Code Playgroud)

以下是我如何启动会话并提交一个简单的调用来获取表列表(使用Python v3.6.7

import happybase

CDH6_HBASE_THRIFT_VER='0.92'

hbase_cnxn = happybase.Connection(
    host='vps00', port=9090,
    table_prefix=None,
    compat=CDH6_HBASE_THRIFT_VER,
    table_prefix_separator=b'_',
    timeout=None,
    autoconnect=True,
    transport='buffered',
    protocol='binary'
)

print('tables:', hbase_cnxn.tables()) # Exception happens here.
Run Code Online (Sandbox Code Playgroud)

以下是Cloudera CDH v6.1.x启动Hbase Thrift服务器的方式(为简洁起见,进行了截断):

/usr/java/jdk1.8.0_141-cloudera/bin/java [... snip ... ] \
    org.apache.hadoop.hbase.thrift.ThriftServer start …
Run Code Online (Sandbox Code Playgroud)

python hbase thrift happybase cloudera-cdh

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

PostgreSQL 13 :: 错误:表“mydb”的权限被拒绝

下面我正在创建数据库mydb并填充它。请注意,我执行的最后一步是设置 的密码postgres。这只是为了避免在前面的步骤中出现密码提示。

我按照其他帖子中的步骤操作,即在、和上StackOverflow发出s ,但仍然面临以下问题。GRANT ALLTABLESSEQUENCESFUNCTIONS

mydb.sh

su - postgres <<xEOFx
set +H

psql -c "CREATE DATABASE mydb"
psql -c "CREATE USER user01 WITH ENCRYPTED PASSWORD 'SomePassword'"

psql -c "GRANT ALL PRIVILEGES ON ALL TABLES    IN SCHEMA public to user01"
psql -c "GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public to user01"
psql -c "GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public to user01"

psql --dbname=mydb --username=postgres -f …
Run Code Online (Sandbox Code Playgroud)

postgresql ddl psql

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