I am trying to issue certificate in ethereum ropsten testnet. But I am facing error-
(venv) bash-4.3# pwd
/cert-issuer (venv) bash-4.3# cert-issuer -c conf_ethtest.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 ethereum_ropsten chain
Traceback (most recent call last):
File “/usr/bin/cert-issuer”, line 33, in
sys.exit(load_entry_point(‘cert-issuer==2.0.25’, ‘console_scripts’, ‘cert-issuer’)())
File “/usr/lib/python3.6/site-packages/cert_issuer/main.py”, line 17, in cert_issuer_main
issue_certificates.main(parsed_config)
File “/usr/lib/python3.6/site-packages/cert_issuer/issue_certificates.py”, line 31, in main
from cert_issuer.blockchain_handlers import ethereum
File “/usr/lib/python3.6/site-packages/cert_issuer/blockchain_handlers/ethereum/init.py”, line 9, in
from cert_issuer.blockchain_handlers.ethereum.signer import EthereumSigner
File “/usr/lib/python3.6/site-packages/cert_issuer/blockchain_handlers/ethereum/signer.py”, line 1, in
import rlp ModuleNotFoundError: No module named 'rlp’
But rlp is already installed. I checked using pip freeze
The problem was when i was running the issue command
(venv) bash-4.3# cert-issuer -c conf_ethtest.ini
for some reason instead of considering the installed rlp in virtual environment , it was trying to look outside the virtual env.
I don’t know why this happened . but when i did pip install coincurve==7.1.0
ethereum==2.3.1 & rlp==0.6.0 outside venv , It ran and issued certificate.
I tried checking the path variable but it was already pointing to the venv location. So for the time being I installed the above 3 libs outside venv until anyone can help me point out the issue.
To make it short, it means that you lacked some “dependencies” for the libraries you wanted to use. This is a common problem when installing python packages, mainly in windows. Before trying to use any kind of library, first it is suggested to look up whether it needs another library in python “family”.
The solution is to provide the python interpreter with the path-to-your-module/library. The simplest solution is to append that python path to your sys.path list. In your notebook, first try:
This isn’t a permanent change in sys.path, because when you log out, your environment is reset, so any variables you may have set are lost.
The better (and more permanent) way to solve this is to set your PYTHONPATH, which provides the interpreter with additional directories look in for python packages/modules.
from BASH type: export PYTHONPATH=/path/to/new/folder:/another/path/...../