-
Notifications
You must be signed in to change notification settings - Fork 65
Broken package on MacOS since 0.8.0 #134
Comments
We are facing the same problem. It seems that the package namespace was rearranged and the API has changed in a breaking way. When this happens, it's best practice to update the major version. Ideally commonmark 0.x.x should retain the old API, while commonmark 1.x.x should incorporate the breaking namespace changes. |
More info after a few tests: if I clone the repo and install the package with |
Thanks for the report, and apologies for the problem. The intention here was to maintain some backwards compatibility by making the I will just remove the |
I've released a new 0.8.1 version of this package. I'm using Linux so I can't tell whether the problem with macOS is fixed. One thing I still need to fix: on PyPI's website, the package name is still CommonMark, even if you try to visit the lower-cased version here: https://pypi.org/project/commonmark/ However, the version that I just uploaded on test.pypi.org is correct: https://test.pypi.org/project/commonmark/ I don't see a setting for this in PyPI's interface, so I'm going to contact them and see how I can change this. I've created an issue for this problem here: pypi/warehouse#4679 |
Our Read the docs builds have just started failing (using commonmark 0.8.1), with:
Please can this breaking change be reverted and released in a point release, then the change relanded for a new major version bump? |
CommonMark has made a breaking package change in a minor version release (0.8.0), so we need to pin to the last working release. See: readthedocs/commonmark.py#134 Fixes: ``` ... File ".../recommonmark/recommonmark/parser.py", line 9, in <module> from CommonMark import Parser ImportError: No module named CommonMark ``` The Travis docs setup step has also been modified to always upgrade dependencies, which will mean we will catch cases like this on Travis next time.
…3998) CommonMark has made a breaking package change in a minor version release (0.8.0), so we need to pin to the last working release. See: readthedocs/commonmark.py#134 Fixes: ``` ... File ".../recommonmark/recommonmark/parser.py", line 9, in <module> from CommonMark import Parser ImportError: No module named CommonMark ``` The Travis docs setup step has also been modified to always upgrade dependencies, which will mean we will catch cases like this on Travis next time.
@nikolas the symlink removal broke every Linux distro packaging and the PEP complience change actually ruined compatibility with anything that depends on the modules (like python-recommonmark) What is your plan for the situation, commit to PEP complience without symlinks and force all depending packages to be fixed? This would be important to know before pinging such libraries to fix the import and at the end you maybe revert to cammel case module and depending packages need to revert as well. |
But... you're not fixing the problem?
What is a symlink supposed to do in the first place? How is it not necessary to provide compatibility anyway?
But then you completely break API in a point release which is not fixing things. It's not exactly challenging to provide a module under two names. Since I guess Arch Linux won't be foolish enough to update to new versions of commonmark any time soon, I can trivially get the intention of your whole change, simply by creating a new, toplevel module called "commonmark.py" containing the following import:
And unlike CommonMark 0.8.1 it works. Please unbreak your everything. Also, camelcase is not really offensive to me and I don't understand the original feature request in the first place... but it's unquestionably failed to do anything it intended at all. Instead you're seeing projects pin the old version or simply remove commonmark support at all due to intolerably working nowhere. |
@anthraxx yeah - the idea is if you're depending on the old CommonMark namespace then just stay at version 0.7.x. |
@eli-schwartz I have fixed the problem reported by @abulte: version 0.8.0 doesn't work on Mac OS. Sorry everyone about the namespace confusion, I was holding off on pushing out this change because I was afraid of breaking everything, but basically here's where we're at:
Open specific tickets if you have any suggestions, but I'm closing this one because it looks like the package is working on Mac OS again, as of 0.8.1. |
Hi,
#60 #131 seems to break the package installation/import on MacOS (10.13.6, APFS volume, homebrew python 2.7.10).
FYI the package is still installed under
site-packages/CommonMark
for me, but if I understand #131 correctly it should be undersite-packages/commonmark
?Thanks!
The text was updated successfully, but these errors were encountered: