meshio
meshio copied to clipboard
Add developer install instructions
pip install -e .
does not work on Python 3.8 after cloning
$ pip install -e .
ERROR: File "setup.py" not found. Directory cannot be installed in editable mode: /Users/bane/Software/external/meshio
(A "pyproject.toml" file was found, but editable mode currently requires a setup.py based build.)
>>> import scooby
>>> scooby.Report(['setuptools', 'distutils'])
--------------------------------------------------------------------------------
Date: Mon Nov 29 11:40:24 2021 MST
OS : Darwin
CPU(s) : 16
Machine : x86_64
Architecture : 64bit
Environment : Python
Python 3.8.8 | packaged by conda-forge | (default, Feb 20 2021, 16:12:38)
[Clang 11.0.1 ]
setuptools : 49.6.0.post20210108
distutils : 3.8.8
numpy : 1.20.2
scipy : 1.6.3
IPython : 7.22.0
matplotlib : 3.4.1
scooby : 0.5.7
--------------------------------------------------------------------------------
It appears the setup.py was removed (without warning?) in https://github.com/nschloe/meshio/pull/795
Since the typical way of installing isn't working, there should be an explanation of the usage of setup.cfg in the README and how to install this locally
I just use tox for testing and install it with from pypi or pip install ..
But then you cannot edit the source and it be reflected in the environment. For example check this out:
I updated the init of meshio with this diff (after installing):
diff --git a/src/meshio/__init__.py b/src/meshio/__init__.py
index 035ae53..36c81ae 100644
--- a/src/meshio/__init__.py
+++ b/src/meshio/__init__.py
@@ -80,3 +80,5 @@ __all__ = [
"topological_dimension",
"__version__",
]
+
+print('this has been editted')
But then if I import meshio into Python, I cannot see that change:
$ meshio git:(main) ✗ python
Python 3.8.8 | packaged by conda-forge | (default, Feb 20 2021, 16:12:38)
[Clang 11.0.1 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import meshio
>>>
In order to see the change I have to install it again:
$ meshio git:(main) ✗ pip install .
...
$ meshio git:(main) ✗ python
Python 3.8.8 | packaged by conda-forge | (default, Feb 20 2021, 16:12:38)
[Clang 11.0.1 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import meshio
this has been editted
>>>
Without a setup.py there is no way to do a dev install (AFAIK)
How about tox?
Well the point is that I want to use meshio in an arbitrary virtual env outside the context of tox and testing. Can the setup.py that was removed in #795 be added back?
Without a
setup.pythere is no way to do a dev install (AFAIK)
This is also what I found. pip cannot do an editable install without a setup.py, so it seems that setup.cfg/pyproject.toml cannot completely replace setup.py yet.
For the time being, you could simply add a setup.py locally.
Yep, that's what I did 👍
A bit embarrassingly, this took me about an hour to figure out. IMO, meshio should keep a setup.py until the new package config can support editable installations
Or at least dev install instructions outlining the need for this file
IMO, meshio should keep a setup.py until the new package config can support editable installations
Fair enough, fair enough. I'll add one.