ApeWorX / py-solc-x

Python wrapper and version management tool for the solc Solidity compiler.
https://solcx.readthedocs.io/
MIT License
138 stars 48 forks source link

Cannot run as non-root #142

Open mrx23dot opened 2 years ago

mrx23dot commented 2 years ago
python3  # as user, not root
import solcx
solcx.get_solcx_install_folder()
PosixPath('/home/admin/.solcx')

solcx.install_solc(version="0.4.26", show_progress=True, solcx_binary_path=None)

  File "/home/admin/.local/share/virtualenvs/terd-H6HPKpgI/lib/python3.7/site-packages/solcx/install.py", line 433, in install_solc
    process_lock = get_process_lock(str(version))
  File "/home/admin/.local/share/virtualenvs/terd-H6HPKpgI/lib/python3.7/site-packages/solcx/utils/lock.py", line 28, in get_process_lock
    _locks[lock_id] = UnixLock(lock_id)
  File "/home/admin/.local/share/virtualenvs/terd-H6HPKpgI/lib/python3.7/site-packages/solcx/utils/lock.py", line 40, in __init__
    self._lock_file = self._lock_path.open("w")
  File "/usr/lib/python3.7/pathlib.py", line 1186, in open
    opener=self._opener)
  File "/usr/lib/python3.7/pathlib.py", line 1039, in _opener
    return self._accessor.open(self, flags, mode)

PermissionError: [Errno 13] Permission denied: '/tmp/.solcx-lock-0.4.26'

solcx should restrict itself to /home/admin/.solcx folder

Environment information

py-solc==3.2.0 py-solc-x==1.1.1 Python 3.7.3 Debian 10