streisand
streisand copied to clipboard
Incompatible with Python 3.8 on macOS 10.15
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:
- Choose Azure as provider
- 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
?
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 thanks for posting a workaround! i made a PR that addresses this.
I see this issue with python 3.9 on macOS 10.15.