streisand icon indicating copy to clipboard operation
streisand copied to clipboard

Incompatible with Python 3.8 on macOS 10.15

Open HR opened this issue 4 years ago • 3 comments

Expected behavior:

Execute setup without error

Actual Behavior:

Getting an error while executing the ./streisand setup script

ERROR! Unexpected Exception, this is probably a bug: cannot pickle '_io.TextIOWrapper' object

Steps to Reproduce:

  1. Choose Azure as provider
  2. Type no (choose default config .streisand/site.yml)

Additional Details:

Log output from Ansible or other relevant services (link to Gist for longer output):

Target Cloud Provider: Azure
Operating System of target host: n/a
Operating System of client: macOS 10.15.6
Version of Ansible, using ansible --version : 2.8.4
Output from git rev-parse HEAD in your Streisand directory : af5eb7dac157a2416ea64cba96cf32f7f505d9ff

Issue:

After searching around, I found that this is an ansible issue that occurs when using python >= 3.8 on macOS and was fixed in ansible version >= 2.9.1 but this project uses a lower version (2.8.4) so the error persists.

See: https://github.com/ansible/ansible/issues/63973

Is it possible to update the ansible version to >= 2.9.1?

HR avatar Aug 27 '20 13:08 HR

short term work-around: after installing python, then while running ./streisand, I also ran into the above error. (eventually,) I deleted both Ansible folders from within ~/streisand/venv/lib/python3.8/ and ran pip install ansible from within the streisand venv. Python then installed the latest version of Ansible and ./streisand ran without error.

gregory-hk avatar Aug 29 '20 16:08 gregory-hk

@gregory-hk thanks for posting a workaround! i made a PR that addresses this.

patthiel avatar Oct 14 '20 21:10 patthiel

I see this issue with python 3.9 on macOS 10.15.

krishkumar avatar Apr 04 '21 23:04 krishkumar