Comments (9)
I'm thinking this is actually an issue with keyring
and/or secretstorage
and/or jeepny
, just making this issue for tracking it in relation to isrcsubmit.
from musicbrainz-isrcsubmit.
Looks like it might be an issue with the fakeroot environment used with makepkg
, so actually an Arch Linux specific issue; see https://aur.archlinux.org/cgit/aur.git/commit/?h=nagstamon&id=ba289b96c2cd81bad5f04903beae06cc19c16d72 – but it can't just be disabled like that on the PKGBUILD, since we actually do want keyring
available. I think this may need to be filed at https://bugs.archlinux.org/ and I can't seem to find an existing issue for it.
from musicbrainz-isrcsubmit.
Reported issue with makepkg
for now: https://bugs.archlinux.org/task/59564
from musicbrainz-isrcsubmit.
The ugly error message can be fixed with this: https://gitlab.com/takluyver/jeepney/merge_requests/4
The root cause though is that a "REJECTED EXTERNAL" is returned, not 100% sure why. The best fix would be to stop importing keyring
during installation, since merely importing it seems to start up all kinds of backend stuff that's unnecessary and only gets in the way when installing.
from musicbrainz-isrcsubmit.
How do you fix this ugly message:
$ pip install --user git+https://github.com/JonnyJD/musicbrainz-isrcsubmit
Collecting git+https://github.com/JonnyJD/musicbrainz-isrcsubmit
Cloning https://github.com/JonnyJD/musicbrainz-isrcsubmit to /tmp/pip-req-build-gb15km0t
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "/tmp/pip-req-build-gb15km0t/isrcsubmit.py", line 47, in <module>
import discid
ModuleNotFoundError: No module named 'discid'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/tmp/pip-req-build-gb15km0t/isrcsubmit.py", line 51, in <module>
from libdiscid.compat import discid
ModuleNotFoundError: No module named 'libdiscid'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-req-build-gb15km0t/setup.py", line 13, in <module>
from isrcsubmit import __version__
File "/tmp/pip-req-build-gb15km0t/isrcsubmit.py", line 55, in <module>
import discid
ModuleNotFoundError: No module named 'discid'
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-req-build-gb15km0t/
Importing the whole entire project as a prerequisite to running setup.py seems rather broken to begin with.
from musicbrainz-isrcsubmit.
@eli-schwartz: already reported in #116 I guess, for over 1.5 years now.
from musicbrainz-isrcsubmit.
@eli-schwartz
This has nothing to do with this problem.
You need to install "python-discid" as a hard requirement for isrcsubmit.
@Xiretza
No, that ticket was just somebody who expected a Mac installer which installed the dependencies.
Yes, that would be great, but I can't provide that.
And this has nothing to do with the problem mentioned here.
Yes, I basically ignored it because I can't spare much maintenance time currently and python-keyring is usually easy to break, difficult to fix, if I can fix anything on this end at all.
from musicbrainz-isrcsubmit.
No, the error message is telling you that even to execute setup.py you need to have preinstalled discid, but pip cannot know that discid is required until after it executes setup.py -- which is a logical circularity and a sign of broken programming. Don't import the version from ircsubmit unless ircsubmit is actually suitable to be imported in setup.py, and while you are at it, don't import the version from ircsubmit if merely importing the freaking version causes you to import keyring too.
Your code does not work according to the Python Packaging Authority. Forget about makepkg.
Your code will continue to be invalid according to the Python Packaging Authority, until https://www.python.org/dev/peps/pep-0518/ achieves broad enough acceptance that you can use pyproject.toml to specify that discid needs to be installed by the "pip" tool or other python package management tools, before executing setup.py, and even with pyproject.toml I would argue that the code is still bad even if it is valid, because you have unnecessary frivolous "import keyring" in your setup.py
I'm sorry if you think my attempt to explain to you both the root of your problem and the logical solution, is "rambling" (as per the bugs.archlinux.org ticket). I'll remember next time I have to talk with you, not to bother attempting to provide education. Or just not bother attempting to reach out to community members when they are trying to figure out how to fix makepkg packaging issues.
from musicbrainz-isrcsubmit.
This seems to be fixed in python-keyring (or a dependency). I can't reproduce it today.
For the request of improving automatic install of (at least the python) dependencies I opened #121
The "supported" installation methods are still:
http://jonnyjd.github.io/musicbrainz-isrcsubmit/install
from musicbrainz-isrcsubmit.
Related Issues (20)
- [bug] ^c does not stop script immediately
- --no-keyring still checks for DBus secrets interface HOT 2
- "ERROR: cdrdao returned with 1" and no further info HOT 5
- proxy option HOT 1
- Documented option “-h” does not display help HOT 4
- Failed install on macOS 10.12 HOT 4
- Multiple discs in single release with same TOC cause a crash
- improve installing via pip HOT 4
- Getting an error page when I try to submit to musicbrainz HOT 3
- musicbrainz-isrcsubmit slow with cdrdao HOT 1
- Could not find module 'discid.dll' HOT 3
- Release selection improvement
- --force-submit requires internet connection
- Drop support for old Python versions
- Submit ISRCs from digital music files instead of CDs
- Display release disambiguation comments
- Compatibility with new setuptools HOT 1
- Rename main branch to “main” HOT 2
- Windows: Could not find module 'discid.dll' HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from musicbrainz-isrcsubmit.