recover in-place usage by defaulting to version 0 and changing it back after installation

This commit is contained in:
Axel Kohlmeyer
2021-02-09 02:12:37 -05:00
parent 7826b58f73
commit b53b993c68
3 changed files with 10 additions and 2 deletions

View File

@ -150,3 +150,10 @@ if tryuser:
setup(**setup_kwargs)
except:
print("Installation into user site package folder failed.")
# restore __version__ == 0 for in place usage
with open(os.path.join('lammps','__init__.py'), "r+") as f:
content = f.read()
f.seek(0)
f.write(re.sub(vregex, lambda match: '{}{}'.format(match.group(1), 0), content))
f.truncate()

View File

@ -5,4 +5,4 @@ from .pylammps import *
# automatically updated during installation
__version__ = 20201224
__version__ = 0

View File

@ -382,8 +382,9 @@ class lammps(object):
self._available_styles = None
# check if liblammps version matches the installed python module version
# but not for in-place usage, i.e. when the version is 0
import lammps
if lammps.__version__ != self.lib.lammps_version(self.lmp):
if lammps.__version__ > 0 and lammps.__version__ != self.lib.lammps_version(self.lmp):
raise(AttributeError("LAMMPS Python module installed for LAMMPS version %d, but shared library is version %d" \
% (lammps.__version__, self.lib.lammps_version(self.lmp))))