Closed whedon closed 2 years ago
Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @henrykironde, @anki-xyz it looks like you're currently assigned to review this paper :tada:.
:warning: JOSS reduced service mode :warning:
Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.
:star: Important :star:
If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As a reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews 😿
To fix this do the following two things:
For a list of things I can do to help you, just type:
@whedon commands
For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:
@whedon generate pdf
Wordcount for paper.md
is 714
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):
OK DOIs
- 10.1145/2207243.2207253 is OK
- 10.18637/jss.v059.i10 is OK
- 10.1007/978-3-319-94878-2_6 is OK
- 10.1007/s00330-020-07453-w is OK
MISSING DOIs
- None
INVALID DOIs
- None
Software report (experimental):
github.com/AlDanial/cloc v 1.88 T=0.25 s (186.9 files/s, 160605.8 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Python 20 902 1684 3243
Jupyter Notebook 10 0 30961 1031
CSS 1 192 32 685
Markdown 5 98 0 259
YAML 3 12 10 223
TeX 1 8 0 57
Bourne Shell 2 3 0 32
reStructuredText 2 14 8 28
DOS Batch 1 8 1 26
make 1 4 7 9
-------------------------------------------------------------------------------
SUM: 46 1241 32703 5593
-------------------------------------------------------------------------------
Statistical information for the repository '1d949d34dfc08c81a0156016' was
gathered on 2021/08/18.
The following historical commit information, by author, was found:
Author Commits Insertions Deletions % of changes
Candace Makeda Moore 192 18316 15433 84.45
Oleg Sivokon 79 4576 1630 15.53
andrew-f-murphy 2 5 5 0.03
Below are the number of rows from each author that have survived and are still
intact in the current revision:
Author Rows Stability Age % in comments
Candace Makeda Moore 2143 11.7 2.0 9.24
Oleg Sivokon 3682 80.5 0.7 9.53
andrew-f-murphy 4 80.0 3.6 100.00
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
I have requested some suggestions as part of the review https://github.com/drcandacemakedamoore/cleanX/issues/36 https://github.com/drcandacemakedamoore/cleanX/issues/35
@henrykironde, thanks for the update! I've looked over discussions so far and I really appreciate that you're suggesting more robust software development principles (e.g., branches, workflows).
:wave: @anki-xyz, please update us on how your review is going (this is an automated reminder).
:wave: @henrykironde, please update us on how your review is going (this is an automated reminder).
👋 @anki-xyz, please update us on how your review is going (this is an automated reminder).
Hi, can someone resent me the invite link? It seems to be expired, thanks!
@cMadan can we maybe schedule a five min zoom or something? I feel stupid to not actually can do the things I am supposed to do... I think I need some kind of help. Thank you!
@whedon re-invite @anki-xyz as reviewer
OK, the reviewer has been re-invited.
@anki-xyz please accept the invite by clicking this link: https://github.com/openjournals/joss-reviews/invitations
@anki-xyz, let me know if that fixes things!
Things work now, thank you!
Here are some recommendations @drcandacemakedamoore, feel free to let me know what is appropriate to add to your software.
Api source docs
with other related documentation like Medical professional documentation
, include Most of the sections in the README or all of it. environment.yml
to make it simple for users to set up the Conda virtual environment in the installation part.development
for contributors to add patches before the release. Currently, you have several branches and it is hard to see any progress on the software after the release. Why the name development
or dev? This is very clear for most users.Thank you very much. We will try to implement ALL of these changes, and push them next week along with some additional functions! There may be some technical issues that will come up with the .yml file, but we will try to make one as instructed.
On Thu, Sep 30, 2021 at 7:18 AM henry senyondo @.***> wrote:
Here are some recommendations @drcandacemakedamoore https://github.com/drcandacemakedamoore, feel free to let me know what is appropriate to add to your software.
- Combine the Api source docs with other related documentation like Medical professional documentation, include Most of the sections in the README or all of it.
- Add developer docs. Contributors should be able to set up this development environment with minimal effort and run tests locally. Example for reference https://retriever.readthedocs.io/en/latest/developer.html
- Add anenvironment.yml to make it simple for users to set up the Conda virtual environment in the installation part.
- Move all the badges to the top. This makes it easy for users to notice the state of the software.
- Explain your workflow in the developer docs. (2-3 sentences)
- Since you are changing the main only at release, I strongly recommend that you create a branch called development for contributors to add patches before the release. Currently, you have several branches and it is hard to see any progress on the software after the release. Why the name development or dev? This is very clear for most users.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/3632#issuecomment-930792121, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHMYSAOIDPMLJZFR54MYBOTUEPXLHANCNFSM5CNBSWDQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
Add an environment.yml to make it simple for users to set up the Conda virtual environment in the installation part.
@henrykironde
I started working on this, and then I realized that... well, we build the package for number of platforms (you can see them in the readme), the dependencies are different for each platform, so, it's not possible to have a single environment.yml
. Even worse, we build the package for platforms neither of us has access to (MacOS).
So, if anyone wanted to develop on, say, a Mac, then they need a different environment.yml
than the one I might use for Linux. I can, probably generate all of those environment files in CI, but there are two problems with that:
Alternatively, I could simply add a single file for one of my Linux environments... or I could add three, which is more realistic, since I use an environment for Python 3.7, 3.8 and 3.9. And, since Python 3.10 is coming out next week, soon we'll try to support that too. So, there will be four files, just for Linux.
Anyways, if you just want one environment file, what version of Python do you want it for?
@henrykironde Can you please look at this branch: https://github.com/drcandacemakedamoore/cleanX/tree/wvxvw/review-fixes and tell me if it helps you with conda
environments?
Thanks for the Updates.
I started working on this, and then I realized that... well, we build the package for number of platforms (you can see them in the readme), the dependencies are different for each platform
Could you explain to how the dependencies are different for each platform.
Can you please look at this branch: I think that does not help me as a contributor to install from source. I would expect to see list of non python prerequisite tools. Once all are installed, it would be a clean
pip install
We don't use pip
during development. So, if you want to use it, I could try to help you, but this might be hard... The way it would work is that you'd first build the package (we don't build source packages ourselves, so, better go with Wheel, because that's something we tried). Then, you'd install the built packages. I.e. the process is:
python ./setup.py bdist_wheel
python -m pip install ./dist/*.whl
Make sure you have wheel
package installed before you try to bdist_wheel
.
The way to work on the project is to build the sources and then to install the resulting package. If you are using Anaconda, then you would use conda build -c conda-forge ./conda-pkg/
after you have generated the necessary configuration files. An then conda install -yqn $build_environment --use-local cleanx
.
I know it's a popular practice in Python community to do something like pip install -e .
in the project directory... but, years of experience taught me that while this works OK for projects developed internally and only worked on by a small group of programmers inside a single organization, once projects are made public, this no longer works due to the difference in individual setups.
This also goes to answering your question about dependencies. It... depends. Depends on what you count. The way I've generated the environment files now, they only list the essential dependencies, similar to how the build configuration does. So, you may reasonably expect them to be the same... or at least very similar. However, another, and more popular way to generate the dependency list is to run conda env export
.
The later will ensure that the dependencies you have are exactly like mine (whereas in the former case, you might get newer packages installed, because that's how conda
constraint solver works). However, conda
lists as dependencies platform libraries like ld_impl_linux-64=2.36.1=hea4e1c9_0
. If you are on a Mac, there's no way you can reproduce this setup, because it specifically wants a library built for Linux. But, it's also not necessary for you to have it on a Mac, because if you start installing from the bare minimum, the constraint solver will never even try to installing this library (because it's conditioned on operating system).
So, really, if you want to build from source, please follow what the CI script does for the platform that you have. If you find it difficult to do so, please tell me the combination of Python version, Python distribution and operating system (I assume MacOS) you want to build on, and I'll extract the CI script into something that fits your platform.
Actually, I just looked into environment files for Mac:
Python 3.9:
name: cleanx-env-darwin-py39
channels:
- conda-forge
- defaults
dependencies:
- pandas=1.3.3=py39h4d6be9b_0
- numpy=1.21.2=py39h7eed0ac_0
- matplotlib=3.4.3=py39h6e9494a_1
- pillow=8.3.2=py39he9bb72f_0
- tesserocr=2.5.1=py39h81cd7d3_2
- libopencv=4.5.3=py39h84599ab_2
- pytest=6.2.5=py39h6e9494a_0
- pycodestyle=2.7.0=pyhd8ed1ab_0
- sphinx=4.2.0=pyh6c4a22f_0
Python 3.8
name: cleanx-env-darwin-py38
channels:
- conda-forge
- defaults
dependencies:
- pandas=1.3.3=py38ha53d530_0
- numpy=1.21.2=py38h49b9922_0
- matplotlib=3.4.3=py38h50d1736_1
- pillow=8.2.0=py38h83525de_1
- tesserocr=2.5.1=py38h0a5c65b_2
- libopencv=4.5.0=py38_3
- pytest=6.2.5=py38h50d1736_0
- pycodestyle=2.7.0=pyhd8ed1ab_0
- sphinx=4.2.0=pyh6c4a22f_0
So, as you can see, they are totally different because of Python version. It's not just a tiny difference. These are entirely different packages.
Thanks for the explanation @wvxvw, I still don't see the difference. Could you clarify that for me, please?
Also, I have looked through the development docs of core packages that you are using, and they use pip install. pandas https://github.com/pandas-dev/pandas numpy https://numpy.org/devdocs/dev/development_environment.html#other-build-options matplotlib https://matplotlib.org/stable/users/installing.html pillow https://pillow.readthedocs.io/en/latest/installation.html#basic-installation I have personally installed these packages locally at some time when debugging some of the software projects I maintain. Please, compare your installation guide to what your dependency packages have, and come up with some docs that enable developers to utilize your tool with ease.
I still don't see the difference. Could you clarify that for me, please?
Look at the part that follows the second equals sign, it tells you the package was built for a different version of Python. Every minor version of Python has different ABI. In other words, if you link against libpython
, you must link against a specific version of it. You cannot have a version of a package that can be loaded by either Python 3.8 or 3.9, if it has a shared library that needs to link with libpython
. Not only that, Python runtime reserves the right to change bytecode format between minor version, that's why Wheel format requires that you specify the Python's minor version in the name of the Wheel, if you are packaging bytecompiled Python files or shared libraries linked against libpython
.
Also, I have looked through the development docs of core packages that you are using, and they use pip install.
How they manage their development process is up to them... I believe, you, of course, realize that if you use pip install
to install your package, this doesn't help you to deal with Anaconda's packages. So, if you want to develop for Anaconda, you need a different toolchain.
Please, compare your installation guide to what your dependency packages have, and come up with some docs that enable developers to utilize your tool with ease.
At the moment we don't have an installation guide for developers. We only instruct the end users on how to install the package.
I will certainly add instructions for developers to the readme, but the ease is in the eye of the beholder. I'm still waiting for your response on the branch I've sent you. Does it help you? If not, why, and what can be improved? Please help me understand what parts don't you find easy.
Another question, that I would really like you to answer to help me understand your difficulties is whether you want to work on our project in the same way we work on it, or do you want us to make your working style possible with our project. I.e. I understand that your working style relies on pip install -e .
, if you develop for PyPI and on conda create -f env.yaml
if you develop for Anaconda. Am I correct about that?
Furthermore, we don't have any formal or informal process for accepting contributions from developers who aren't on our team. We are too few, and didn't anticipate the need for such a thing. So, we don't have any requirements for developers, and I believe the developers may use whatever tools they feel most convenient with to work on the project. I'm not sure that hand-holding them to create their working environment is my place.
Another question, that I would really like you to answer to help me understand your difficulties is whether you want to work on our project in the same way we work on it, or do you want us to make your working style possible with our project. I.e. I understand that your working style relies on pip install -e ., if you develop for PyPI and on conda create -f env.yaml if you develop for Anaconda. Am I correct about that?
What I am trying to say is that there are standards in software development, these standards need to be maintained by all users for the ecosystem to have fewer dependency problems. I did not create these standards, and that is why I pointed you to the docs of the packages you are using, to have some points of reference. This will also avoid backward compatibility issues where a package does not depend on a version as Python 3.8 or 3.9 to work.
cleanX package is a pure Python package It should be able to run on the development tools in the core Python ecosystem, otherwise you can state the difference that it only runs in a Conda environment.
I think at this moment, I have provided enough recommendations to improve the utility of the software, and the quality to my expectations of the "industrial" standard. Feel free to make only the changes you think are appropriate. I will review the software when you feel ready.
This will also avoid backward compatibility issues where a package does not depend on a version as Python 3.8 or 3.9 to work.
I'm sorry... you misinterpreted what I wrote. Please, look again at the files generated for environments using different versions of Python. It's impossible to have the same set of dependencies because of how Python works. It's not my choice, or the choice of Pandas or NumPy or any other package.
The development instructions they (Pandas, NumPy etc.) give you are the instructions for a version of Python. Maybe the latest supported by the given package, or maybe the latest supported by the released version of the package... they don't give you a way to set up your working environment for all versions.
If you want instructions for Python 3.9, MacOS, Anaconda Python, that is something I can give you. But, I cannot give you, for example, instructions on how to set up your environment if you want to work with Python 3.9, MacOS, python.org's Python, simply because we don't support this combination of platforms. I've never tried to use the package there, and have no access to the platform to even attempt to use it there.
You also misunderstand the backwards compatibility problem (in the context of our package). We are not developing for a particular version of Python, treating all older versions as backwards (in-)compatible. We develop for different versions of Python. From our perspective, they are all valid and valuable. As such, we don't have a "main" version, that aligns with a particular Python version, and "soon to be obsolete" versions that need less development effort and that soon will be abandoned.
I think at this moment, I have provided enough recommendations to improve the utility of the software, and the quality to my expectations of the "industrial" standard.
Then I will treat the bullet point 3 in your initial post as being addressed by the branch wvxvw/review-fixes
. It still needs some polishing of documentation, but the main feature added there is my response to your request. If you are not satisfied by the changes, please feel free to revisit it.
Actually, the same branch also closes the bullet point 5 on your list.
As for bullet point 6: our development process doesn't require it, but I will add it anyways. If you are planning on making a contribution, please read the documentation added in wvxvw/review-fixes
.
We have now tried to accomplish all the bullet points. For me it meant changing to a new workflow so that main is the stable released version only, which will almost definitely help us in the long run. Thank you for your help, and we will try to accomplish any other requests.
On Sun, Oct 3, 2021 at 10:55 AM wvxvw @.***> wrote:
Actually, the same branch also closes the bullet point 5 on your list.
As for bullet point 6: our development process doesn't require it, but I will add it anyways. If you are planning on making a contribution, please read the documentation added in wvxvw/review-fixes.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/3632#issuecomment-932891820, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHMYSAKGAALVVCOFYLMPZX3UFAK6LANCNFSM5CNBSWDQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
@henrykironde @anki-xyz, can you give me an update on how the review is going? Thank you!
@cMadan thank you for the reminder. I have constantly checked on the progress of the software submitted however, I still can not get the source to install. Current error messages am getting :
Traceback (most recent call last):
File "/opt/miniconda3/envs/cleanx/bin/conda-build", line 11, in <module>
sys.exit(main())
File "/opt/miniconda3/envs/cleanx/lib/python3.9/site-packages/conda_build/cli/main_build.py", line 481, in main
execute(sys.argv[1:])
File "/opt/miniconda3/envs/cleanx/lib/python3.9/site-packages/conda_build/cli/main_build.py", line 470, in execute
outputs = api.build(args.recipe, post=args.post, test_run_post=args.test_run_post,
File "/opt/miniconda3/envs/cleanx/lib/python3.9/site-packages/conda_build/api.py", line 184, in build
raise ValueError('No valid recipes found for input: {}'.format(recipe_paths_or_metadata))
ValueError: No valid recipes found for input: ['/Users/henrysenyondo/Downloads/cleanX/conda-pkg']
Traceback (most recent call last):
File "./setup.py", line 448, in <module>
setup(
File "/opt/miniconda3/lib/python3.8/site-packages/setuptools/__init__.py", line 161, in setup
return distutils.core.setup(**attrs)
File "/opt/miniconda3/lib/python3.8/distutils/core.py", line 148, in setup
dist.run_commands()
File "/opt/miniconda3/lib/python3.8/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/opt/miniconda3/lib/python3.8/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "./setup.py", line 404, in run
super().run()
File "./setup.py", line 348, in run
raise RuntimeError('Couldn\'t build {} package'.format(name))
RuntimeError: Couldn't build cleanX package
Additionally the whole documentation of the package needs improvement. The instructions are not very clear and need better organization. I recommend the authors to go through the instructions provided and test them out. An example
conda create -n cleanx
conda activate -n cleanx. # will error
python ./setup.py install_dev
Another example:
Whether python.org Python or Anaconda Python are supported, it means that version 3.7, 3.8 and 3.9 are supported. We know for certain that 3.6 is not supported, and there will be no support in the future.
I believe the author means: Supports 3.7+.
(Simplicity is better and easy to read)
@henrykironde My apologies, the installation instructions were incomplete. I've updated the documentation to reflect that:
conda create -n cleanx
conda activate cleanx
python ./setup.py genconda
python ./setup.py install_dev
This is the right sequence of commands. In addition, about setup.py genconda
, this command generates necessary Anaconda package configuration files, unfortunately, they are specific to Python version. Unfortunately, right now, it's not possible to have multiple configurations concurrently (but it may be fixed in the future, if you really find this inconvenient). This means, that if you switch between different versions of Python, you will have to re-run this command.
Additionally, I've noticed that you are using MacOS and a combination of Python 3.8 and Python 3.9. To be honest, I didn't know that was even possible. I.e. you seem to be running conda
command with Python 3.8, but the conda packages themselves reside in Python 3.9 installation... As we don't try this in our ordinary development, I cannot guarantee that your setup will work. Please try using a single version of Python if at all possible.
On top of this, since you are using MacOS, some time ago we've discovered that in the combination of MacOS and Python 3.9 you will not be able to get OpenCV to work. I'm not 100% sure at the moment what the issue was, but, I believe, it's related to XCode and some clang
flags. Since it looks like you have Python 3.8 available, I'd recommend using that instead.
Thank you for bringing the problems with installation sequence to our attention. Dr. Moore is dealing with other aspects of your report, i.e. documentation.
Thank you for the nice feedback @wvxvw. So I have tested this on two machines. One one the genconda command worked so well but failed on the other. I am getting the following error.
Mac OS :
(cleanx) ➜ cleanX git:(main) ✗ python ./setup.py genconda
Traceback (most recent call last):
File "./setup.py", line 503, in <module>
zip_safe=False,
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/__init__.py", line 144, in setup
_install_setup_requires(attrs)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/__init__.py", line 139, in _install_setup_requires
dist.fetch_build_eggs(dist.setup_requires)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/dist.py", line 717, in fetch_build_eggs
replace_conflicting=True,
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 782, in resolve
replace_conflicting=replace_conflicting
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 1065, in best_match
return self.obtain(req, installer)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 1077, in obtain
return installer(requirement)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/dist.py", line 784, in fetch_build_egg
return cmd.easy_install(req)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/command/easy_install.py", line 679, in easy_install
return self.install_item(spec, dist.location, tmpdir, deps)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/command/easy_install.py", line 705, in install_item
dists = self.install_eggs(spec, download, tmpdir)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/command/easy_install.py", line 890, in install_eggs
return self.build_and_install(setup_script, setup_base)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/command/easy_install.py", line 1158, in build_and_install
self.run_setup(setup_script, setup_base, args)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/command/easy_install.py", line 1144, in run_setup
run_setup(setup_script, args)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/sandbox.py", line 253, in run_setup
raise
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/contextlib.py", line 35, in __exit__
self.gen.throw(type, value, traceback)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/sandbox.py", line 195, in setup_context
yield
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/contextlib.py", line 35, in __exit__
self.gen.throw(type, value, traceback)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/sandbox.py", line 166, in save_modules
saved_exc.resume()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/sandbox.py", line 141, in resume
six.reraise(type, exc, self._tb)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/sandbox.py", line 154, in save_modules
yield saved
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/sandbox.py", line 195, in setup_context
yield
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/sandbox.py", line 250, in run_setup
_execfile(setup_script, ns)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/sandbox.py", line 45, in _execfile
exec(code, globals, locals)
File "/var/folders/rg/t6xt8whj6cx1yt3tn741j8740000gn/T/easy_install-UJOKXd/Sphinx-4.2.0/setup.py", line 8, in <module>
File "/var/folders/rg/t6xt8whj6cx1yt3tn741j8740000gn/T/easy_install-UJOKXd/Sphinx-4.2.0/sphinx/__init__.py", line 20, in <module>
File "/var/folders/rg/t6xt8whj6cx1yt3tn741j8740000gn/T/easy_install-UJOKXd/Sphinx-4.2.0/sphinx/deprecation.py", line 28
def deprecated_alias(modname: str, objects: Dict[str, object],
^
SyntaxError: invalid syntax
on the machine that runs genconda well I get the following error in the python setup install_dev
UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:
Specifications:
- cleanx -> python==3.8
Your python: python=3.9
If python is on the left-most side of the chain, that's the version you've asked for.
When python appears to the right, that indicates that the thing on the left is somehow
not available for the python version you are constrained to. Note that conda will not
change your python version to a different minor version unless you explicitly specify
that.
Traceback (most recent call last):
File "./setup.py", line 448, in <module>
setup(
File "/opt/miniconda3/lib/python3.8/site-packages/setuptools/__init__.py", line 161, in setup
return distutils.core.setup(**attrs)
File "/opt/miniconda3/lib/python3.8/distutils/core.py", line 148, in setup
dist.run_commands()
File "/opt/miniconda3/lib/python3.8/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/opt/miniconda3/lib/python3.8/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "./setup.py", line 404, in run
super().run()
File "./setup.py", line 360, in run
raise RuntimeError('Couldn\'t install {} package'.format(name))
RuntimeError: Couldn't install cleanX package
Somethings that I noted, like you said, we should not have two references for python 3.8 and 3.9. I guess we should try to create the env stating the python version to run the package. That may probably resolve some issue. Again thanks for the comments.
Is it possible that you downloaded Anaconda for Python 3.8, then upgraded to Anaconda (which might give you one for Python 3.9)? Anaconda can apparently sometimes upgrade itself without you asking it to (we just discovered this today, and it actually gave us the same problem). If so I think you could downgrade, or do a clean install of Anaconda. As we now have the same problem, I expect Oleg will write more details on how we can fix it.
On Wed, Nov 3, 2021 at 8:19 PM henry senyondo @.***> wrote:
Somethings that I noted, like you said, we should not have two references for python 3.8 and 3.9. I guess we should try to create the env stating the python version to run the package. That may probably resolve some issue. Again thanks for the comments.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/3632#issuecomment-959846153, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHMYSAMNOCA3RSEOXDCQRPDUKGKMLANCNFSM5CNBSWDQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
Fix is on the way to develop
.
If you are interested to know what happened, here's a synopsis:
conda install xxx
will ignore Python version you configured for your virtual environment, and will install arbitrary version it likes, and if it means that in order to install this version conda
needs to install a different version of Python, or a different version of conda
etc, then so be it.
It didn't always work like that. But it did at the time of Python 2.7. Then, at some point the behavior improved, but at some later point the bad behavior returned. In the latest version of conda
, the behavior described above is what you get.
So, why it worked just a week ago and why it doesn't work today: in order to build our package we install conda-build
and conda-verify
. We don't require a specific version of either of those packages as it's irrelevant to us. However, even though you probably created a virtual environment using Python 3.8, conda
discovered conda-build=3.21.5=py39h06a4308_0
(or similar, if you are on a Mac / Windows). Even though there's conda-build-3.21.5=py38h06a4308_0
, conda
decided that it's better to update everything in your environment... including Python and conda
itself. It must be the case that conda-build
was unavailable for Python 3.9, and so the newer version existed either solely in 3.7 or maybe conda
in 3.7 wouldn't update Python and the latest version of conda-build
was from 3.8.
In our build, we request specifically to build our package for the version of Python that was installed in your environment, i.e. 3.8. Because build happens in a separate environment (I don't know how to circumvent this, it's completely unnecessary and slows the build by a lot), the package was built successfully, but for the wrong Python version.
Worse yet, conda
ignored Python requirement when testing the package (I've also tried to add it explicitly to the test
section of the meta.yaml
-- it has no effect. And that's how you ended up with the error you have.
Hey, @henrykironde we've gone through and cleaned up language and typos. Do you require anything else from our end?
I still cannot get this package to install. Could someone from the team be free to have a thorough walk through meeting. I am okey with whatever time works for any of the members.
Hi @henrykironde what time zone are you in? I'm not sure about Monday and Tuesday due to a family emergency, but after that, I'll try to help you.
ES, any time works for me, night or day.
Hi, Henry, sorry it's taking longer than I hoped.
How about 13:00 UTC on Saturday? If that's inconvenient, then maybe 20:00 UTC on the same day, or it could be an hour or two later.
On Mon, Mar 14, 2022 at 12:09 AM henry senyondo @.***> wrote:
ES, any time works for me, night or day.
— Reply to this email directly, view it on GitHub https://github.com/openjournals/joss-reviews/issues/3632#issuecomment-1066202075, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAYAMDDFTAB3MP44UX5KMX3U7Z7UHANCNFSM5CNBSWDQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID: @.***>
20:00 UTC works fine
Hi, sorry, @henrykironde I realized I don't know how to contact you :)
OK, I think, I figured out how to use GMail video calls.
@wvxvw I sent you an email from henrykironde@gmail.com. We can reschedule for another time.
@henrykironde Any luck on getting the package to install? i know @wvxvw has a lot on at the moment so we could be a while sorry.
@whedon generate pdf
My name is now @editorialbot
@editorialbot generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
@henrykironde Not sure what is happening with the author post nominals I know mine should read, Andrew Murphy, BMedImagingSc, MMIS, RT(R). Trying to find the others but am on a plane and have spotty recption
Submitting author: !--author-handle-->@drcandacemakedamoore<!--end-author-handle-- (Candace Makeda Moore) Repository: https://github.com/drcandacemakedamoore/cleanX Branch with paper.md (empty if default branch): Version: v0.1.14 Editor: !--editor-->@cMadan<!--end-editor-- Reviewers: @henrykironde, @anki-xyz Archive: 10.5281/zenodo.6331739
:warning: JOSS reduced service mode :warning:
Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.
Status
Status badge code:
Reviewers and authors:
Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)
Reviewer instructions & questions
@henrykironde & @anki-xyz, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:
The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @cMadan know.
✨ Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest ✨
Review checklist for @henrykironde
✨ Important: Please do not use the Convert to issue functionality when working through this checklist, instead, please open any new issues associated with your review in the software repository associated with the submission. ✨
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
Review checklist for @anki-xyz
✨ Important: Please do not use the Convert to issue functionality when working through this checklist, instead, please open any new issues associated with your review in the software repository associated with the submission. ✨
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper