vyper
vyper copied to clipboard
Vyper can't be installed from the tarball release
Version Information
- vyper Version (output of
vyper --version): 0.1.0-beta.13 - OS: linux
- Python Version (output of
python --version): 3.7.4
What's your issue about?
Downloaded the tarball from the github releases page, and tried to install with any of the various tools (pip, setuptools, etc).
There is a line early in the output:
fatal: not a git repository (or any of the parent directories): .git
but installation continues (this is due to an error not being handled in setup.py).
Finally, installation fails with:
error: can't copy 'vyper/vyper_git_version.txt': doesn't exist or not a regular file.
This is because the original git command failed.
How can it be fixed?
Remove the code in setup.py that runs git in a subprocess and fails to handle the error, or keep the vyper_git_version.txt in source control (not in .gitignore).
If we add vyper_git_version.txt to source control, it will change the commit hash to something other than the contents of that file. Sort of a chicken-egg issue.
The correct resolution to this issue would be to build anyways despite the error, then note that the hash is unknown in this scenario.
One could just download tarball from pypi as well ? https://pypi.org/project/vyper/0.1.0b13/#files This is an unfortunate side-effect of us choosing to produce a git # on --version I think it's an ok trade off?
we don't need to add the version.txt to source control, we just need to make sure it is packaged in the release.
note the pypi tarball is produced correctly, for instance, compare https://files.pythonhosted.org/packages/a1/a0/e6b8290a5743ac83695cfc932b016ddce981b0fa48cba85c5779b1730598/vyper-0.4.0rc2.tar.gz vs https://github.com/vyperlang/vyper/archive/refs/tags/v0.4.0rc2.tar.gz -- the former has version.py and vyper_git_commithash.txt, but the latter does not.