Cert-issuer problem "Sorry, Python 3.x required by this script"

I am getting Sorry, Python 3.x required by this script whenever I try to run the following command cert-issuer -c conf_final.ini

Hello. Yes, python3 is required by cert-issuer. I recommend using virtualenv to manage your python environments,

To install virtualenv:

pip install virtualenv

Create a python 3 virtualenv for your project

cd $project_home
virtualenv -p python3 venv

Activate the environment

source ./venv/bin/activate

After you’re finished, deactivate the environment by running

deactivate

(venv) vigilare@vigilare-desktop:~/cert-issuer$ python -V
Python 3.5.2
(venv) vigilare@vigilare-desktop:~/cert-issuer$ cert-issuer -c conf_final.ini
WARNING:root:Your app is configured to skip the wifi check when the USB is plugged in. Read the documentation to ensure this is what you want, since this is less secure
Sorry, Python 3.x required by this script.
(venv) vigilare@vigilare-desktop:~/cert-issuer$

I just tested again and I couldn’t repro this error. One question – did you pip install cert-issuer? It seems like the python env info is inconsistent. Could you also try directly running the following:

python3 issuer_certificates.py -c conf_final.ini

If python3 isn’t in your env, then try python instead of python3.

Are you running a Linux OS btw?

1 Like

Hi Kim, I’ve tried a number of commands and environments (currently building on ubuntu VM) but certs are not issuing… perhaps you have a suggestion on the following?

I’ve tried the same command with python and python3 at the start as well as putting the full path in front of the conf.ini file, I’ve also tried running the command while in the python enviroment and outside of it (cert-issuer was installed first, then I entered the enviroment and ran). Same thing outside. I’m thinking to try installing cert-tools again while in the environment.

(venv) parallels@parallels-vm:~/folder$ cert-issuer -c conf.ini
usage: cert-issuer [-h] [-c MY_CONFIG] --issuing_address ISSUING_ADDRESS
                   --usb_name USB_NAME --key_file KEY_FILE
                   [--unsigned_certificates_dir UNSIGNED_CERTIFICATES_DIR]
                   [--signed_certificates_dir SIGNED_CERTIFICATES_DIR]
                   [--blockchain_certificates_dir BLOCKCHAIN_CERTIFICATES_DIR]
                   [--work_dir WORK_DIR] [--max_retry MAX_RETRY]
                   [--chain CHAIN] [--safe_mode] [--no_safe_mode]
                   [--dust_threshold DUST_THRESHOLD] [--tx_fee TX_FEE]
                   [--batch_size BATCH_SIZE]
                   [--satoshi_per_byte SATOSHI_PER_BYTE] [--bitcoind]
                   [--no_bitcoind] [--gas_price GAS_PRICE]
                   [--gas_limit GAS_LIMIT] [--api_token API_TOKEN]
cert-issuer: error: File not found: conf.ini

When running the command previously before your suggestion I got this (but had python3 installed!):
parallels@parallels-vm:~/folder/cert-issuer$ cert-issuer -c conf.ini
WARNING - Your app is configured to skip the wifi check when the USB is plugged in. Read the documentation to ensure this is what you want, since this is less secure
INFO - This run will try to issue on the bitcoin_testnet chain
Sorry, Python 3.x required by this script.

Then I also tried the command you suggested above:
(venv) parallels@parallels-vm:~/folder/cert-issuer$ python3 issuer_certificates.py -c conf.ini
python3: can’t open file ‘issuer_certificates.py’: [Errno 2] No such file or directory

parallels@parallels-vm:~/folder/cert-issuer$ python3 issuer_certificates.py -c conf.ini
    python3: can't open file 'issuer_certificates.py': [Errno 2] No such file or directory

Hi @JoshAFairhead! I was reading this and found and error in your command.
The python file is “issue_certificates.py” and not “issueR”
Maybe thats why you cant find it.
Hope it helps

!! User error !! Thanks for the help, I managed to get my certs issuing on bitcoin testnet in the end. However I got this response back from the blockcerts web validator if you happen to know why:

Status check

[Hide]

  • Revoked status check
  • Issuer signature check

Invalid

Transaction occurred at time when issuing address was not considered valid.

Gettting the same error after issuing the test certificate to the ropsten testnet.

In addition to that, had to use the api directly to get the transaction on the network.