Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion antora.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ asciidoc:
attributes:
# General attributes
company: 'DataStax'
support-url: 'https://support.datastax.com'
# Other product attributes
cass-reg: 'Apache Cassandra(R)'
cass: 'Apache Cassandra'
Expand Down
1 change: 0 additions & 1 deletion in-progress/managing.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2783,7 +2783,6 @@ This can act as a convenient alternative to installing and configuring a xref:as
To use `cqlsh` commands, you must have a supported version of Python installed on your system.
The underlying `cqlsh` utility requires Python 2.7 (with TLS support) or Python 3.6--3.11.
Python versions 3.12 and later are not supported.
For more details, see this https://support.datastax.com/s/article/cqlsh-may-fail-with-A-Python-installation-with-SSL-is-required-to-connect-to-a-cloud-cluster-when-connecting-to-Astra[Support article]

Use the `astra db cqlsh` command to start `cqlsh` in interactive mode:

Expand Down
42 changes: 35 additions & 7 deletions modules/quickstarts/pages/cqlsh.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,46 @@ The first time you run an `astra db cqlsh` command, the {product} downloads and
All `astra db cqlsh` commands require a database name or ID.
The first time you connect to a specific database, {product} downloads the database's {scb} into the {product} home directory.

[#prerequisites]
== Prerequisites

To use `cqlsh` commands, you must have a supported version of Python installed on your system.
The `cqlsh` commands required one of the following supported versions of Python with SSL/TLS:

The underlying `cqlsh` utility requires Python 2.7 with TLS support, or any version of Python from 3.6 through 3.11.
Python versions 3.12 and later are not supported.
For more details, see this https://support.datastax.com/s/article/cqlsh-may-fail-with-A-Python-installation-with-SSL-is-required-to-connect-to-a-cloud-cluster-when-connecting-to-Astra[support article]
* Python 3.6 to 3.11
* Python 2.7.12 or later

Any supported version of Python must be available in your system's `PATH` for the {product} to use it.
It does not require that the supported version be your system's default version of Python.
All other versions aren't supported.

If the {product} reports `ModuleNotFoundError` after running any of the `astra db cqlsh` commands, you might not have a supported version of Python available in your system's `PATH`.
Any supported Python version must be installed on your system _and_ available in your system's `PATH` for the {product} to use it with the `cqlsh` commands.
This version doesn't need to be your system's default Python version as long as it's available in the `PATH`.
For example, you can use a virtual environment or symbolic links to add a supported Python version without changing your system's default version.

=== Troubleshoot ModuleNotFoundError and Python installation errors

If the {product} reports `ModuleNotFoundError` after running any of the `astra db cqlsh` commands, make sure you have a <<prerequisites,supported Python version>> available in your system's `PATH`.

The error `A Python installation with SSL is required to connect to a cloud cluster` means that the detected Python version doesn't support TLS.
This typically happens with Python versions earlier than 2.7.12, which don't support TLS.

.Verify TLS support
[%collapsible]
====
To verify whether your current Python version supports TLS, run the following command:

[source,shell]
----
python -c 'from ssl import SSLContext, PROTOCOL_TLS, CERT_REQUIRED'
----

If TLS isn't supported, the following error is returned:

[source,console]
----
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: cannot import name PROTOCOL_TLS
----
====

== Start an interactive cqlsh session

Expand Down