mirror of
https://github.com/wassname/catalyst.git
synced 2026-07-12 05:26:59 +08:00
BUG: Avoids install errors caused by lack of pandoc binary.
The pyandoc module throws an OSError of: "No such file or directory", when the underlying pandoc binary does not exist. This error has caused confusion for numerous people during pip installation. pandoc is only needed on upload to PyPI to convert to ReST. So, instead of doing a try/except on the `import pandoc` for all cases, now checking whether or not 'upload' was invoked when calling setup.py, so that only maintainers have to worry about installation of pandoc. By only exercising the pandoc logic when
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
import sys
|
||||
|
||||
from setuptools import setup, find_packages
|
||||
|
||||
@@ -22,15 +23,19 @@ README_MARKDOWN = None
|
||||
with open('README.md') as markdown_source:
|
||||
README_MARKDOWN = markdown_source.read()
|
||||
|
||||
try:
|
||||
import pandoc
|
||||
pandoc.core.PANDOC_PATH = 'pandoc'
|
||||
if 'upload' in sys.argv:
|
||||
# Converts the README.md file to ReST, since PyPI uses ReST for formatting,
|
||||
# This allows to have one canonical README file, being the README.md
|
||||
# The conversion only needs to be done on upload.
|
||||
# Otherwise, the pandoc import and errors that are thrown when
|
||||
# pandoc are both overhead and a source of confusion for general
|
||||
# usage/installation.
|
||||
import pandoc
|
||||
pandoc.core.PANDOC_PATH = 'pandoc'
|
||||
doc = pandoc.Document()
|
||||
doc.markdown = README_MARKDOWN
|
||||
LONG_DESCRIPTION = doc.rst
|
||||
except ImportError:
|
||||
else:
|
||||
# If pandoc isn't installed, e.g. when downloading from pip,
|
||||
# just use the regular README.
|
||||
LONG_DESCRIPTION = README_MARKDOWN
|
||||
|
||||
Reference in New Issue
Block a user