cisco-system-traffic-generator/trex-core

Inability to start TRex STL via CTRexClient due to old Pyyaml

gregory-mac opened this issue · 1 comments

On v3.03 running this code:

from stf.trex_stf_lib.trex_client import CTRexClient

client = CTRexClient("0.0.0.0")
client.start_stateless()

results in an error:

ProtocolError: (-32603, 'Server error: File "/opt/trex/v3.03/external_libs/pyyaml-3.11/python3/yaml/constructor.py", line 126, in construct_mapping | AttributeError: module \'collections\' has no attribute \'Hashable\'\n')

The collections module now uses collections.abc.Hashable instead of collections.Hashable. Pyyaml moved to the new style since v5.1 (related PR).

Is it possible to move to a more recent version of the Pyyaml?

The problem, itself that is the error message breaking execution is fixed here:

The fix:
yaml/pyyaml@f92d859

The bug:
yaml/pyyaml#202

"Is it possible to move to a more recent version of the Pyyaml?" seems to be more of the "feature" request.
Personally, could not wait for its fulfillment and used the advice given. It works.