File "/django_scrapy/d_warehouse/vot/base/base.py", line 342, in super_validate print(f'self.sub_class:{self.sub_class}') AttributeError: 'HvdExecutor' object has no attribute 'sub_class'
时间: 2024-04-12 10:30:11 浏览: 11
根据你提供的错误信息,`HvdExecutor` 对象没有名为 `sub_class` 的属性。因此,在代码中访问 `self.sub_class` 时会引发 `AttributeError`。
要解决这个问题,你需要确保在 `HvdExecutor` 类中定义了 `sub_class` 属性。请检查一下 `HvdExecutor` 类的定义,确保该属性的存在。另外,还需要确保在创建 `HvdExecutor` 对象时,正确地设置了 `sub_class` 属性的值。
如果 `sub_class` 是一个类的实例,你可能需要将其作为 `HvdExecutor` 的一个属性进行初始化,例如:
```python
class HvdExecutor:
def __init__(self, sub_class):
self.sub_class = sub_class
```
这样,在创建 `HvdExecutor` 对象时,将 `sub_class` 作为参数传递给构造函数,并将其保存为 `self.sub_class` 属性。这样就可以在后续的代码中访问和使用 `self.sub_class` 了。
相关问题
User Traceback (most recent call last): File "d_warehouse/vot/z_test/z_model/cv/pt_common.py", line 41, in test_pt_common_train HvdExecutor("0005", self.process, self.hosts, man="gcgS467j").run() File "/django_scrapy/d_warehouse/vot/base/base.py", line 351, in run self.super_validate() File "/django_scrapy/d_warehouse/vot/base/base.py", line 344, in super_validate if self.sub_class is not None: AttributeError: 'HvdExecutor' object has no attribute 'sub_class'
根据你提供的错误信息,看起来在 `HvdExecutor` 类的 `super_validate()` 方法中引发了 `AttributeError` 错误。具体地,错误信息指出 `HvdExecutor` 对象没有名为 `sub_class` 的属性。
要解决这个问题,你需要确保在 `HvdExecutor` 类中定义了 `sub_class` 属性。请检查一下 `HvdExecutor` 类的定义,确保该属性的存在。
另外,根据你提供的代码片段,你在创建 `HvdExecutor` 对象时传递了 `"0005"` 作为第一个参数。这可能导致在 `HvdExecutor` 类中访问 `self.sub_class` 时发生错误,因为它期望 `self.sub_class` 是一个对象而不是一个字符串。你可能需要检查一下代码,确保正确地设置了 `sub_class` 属性的值。
如果 `sub_class` 是一个类的实例,你可以尝试修改代码如下:
```python
HvdExecutor(SubClass("0005"), self.process, self.hosts, man="gcgS467j").run()
```
这样,你将 `"0005"` 作为参数传递给 `SubClass` 的构造函数,并将其作为 `SubClass` 的一个实例传递给 `HvdExecutor` 的构造函数。这样就可以在后续的代码中访问和使用 `self.sub_class` 了。
ERROR: test_pt_common_predict (__main__.TestCommonExecutor) ---------------------------------------------------------------------- Traceback (most recent call last): File "d_warehouse/vot/z_test/z_model/cv/pt_common.py", line 54, in test_pt_common_predict Mnist(self.data_dir, man="gcgS467j").b("0001").run() File "/django_scrapy/d_warehouse/vot/base/base.py", line 357, in run return self.do_run() File "/django_scrapy/d_warehouse/vot/data/dataset/cv/mnist.py", line 34, in do_run train_df = self.sqlc.createDataFrame(train_data_list) File "/usr/local/lib/python3.8/dist-packages/pyspark/sql/context.py", line 473, in createDataFrame return self.sparkSession.createDataFrame( # type: ignore[call-overload] File "/usr/local/lib/python3.8/dist-packages/pyspark/sql/session.py", line 1222, in createDataFrame self._jvm.SparkSession.setActiveSession(self._jsparkSession) File "/usr/local/lib/python3.8/dist-packages/py4j/java_gateway.py", line 1712, in __getattr__ answer = self._gateway_client.send_command( File "/usr/local/lib/python3.8/dist-packages/py4j/java_gateway.py", line 1036, in send_command connection = self._get_connection() File "/usr/local/lib/python3.8/dist-packages/py4j/clientserver.py", line 284, in _get_connection connection = self._create_new_connection() File "/usr/local/lib/python3.8/dist-packages/py4j/clientserver.py", line 291, in _create_new_connection connection.connect_to_java_server() File "/usr/local/lib/python3.8/dist-packages/py4j/clientserver.py", line 438, in connect_to_java_server self.socket.connect((self.java_address, self.java_port)) ConnectionRefusedError: [Errno 111] Connection refused
这个错误表明你的代码尝试连接到一个 Java 服务器,但连接被拒绝了。可能有几个原因导致这个问题:
1. Java 服务器没有正确启动或正在运行。请确保你的 Java 服务器正在运行,并且监听的端口没有被其他进程占用。
2. 防火墙或网络配置问题。防火墙或网络配置可能会阻止你的代码与 Java 服务器建立连接。请检查防火墙设置并确保网络配置正确。
3. IP 地址或端口号错误。请确保你提供给代码的 Java 服务器的 IP 地址和端口号是正确的。
请仔细检查上述原因,并根据实际情况进行相应的调整。如果问题仍然存在,请提供更多的代码和错误上下文,以便进一步帮助你解决问题。