Install & Compatibility
Where this runs
tested against v14.6.2 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
build_error
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 3.2s · import 0.546s · 157MB
155MB installed
● package 155MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Document
✓ from spire.doc import Document
✗ from spire.doc import SpireDoc
Old import paths from earlier versions (v3.x) used different class names.
FileFormat
✓ from spire.doc import FileFormat
✗ from spire.doc.common import FileFormat
In v12+, constants moved; direct import from spire.doc is required.
Creates a simple Word document with one paragraph and saves as DOCX. No license file required for free tier (limited to sections/pages).
from spire.doc import Document, FileFormat
doc = Document()
section = doc.AddSection()
paragraph = section.AddParagraph()
paragraph.AppendText("Hello, Spire.Doc!")
doc.SaveToFile("output.docx", FileFormat.Docx)
doc.Close()
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'spire.doc'
The package is installed as `spire.doc` but import is case-sensitive.
fixInstall using `pip install spire.doc`. Ensure no typos.
AttributeError: module 'spire.doc' has no attribute 'Document'
Using old import pattern or missing correct import path.
fixUse `from spire.doc import Document` (not `from spire.doc import SpireDoc` or `import spire.doc`).
FileFormat' object has no attribute 'Docx2010'
Version-specific file format enums removed in v13+.
fixReplace with `FileFormat.Docx` (without version number).
Upgrade
Version history
14.6.2latest on PyPI · released Jun 18, 2026
Audit
Dependencies
pythonnetoptionalRequired for .NET interoperability on Windows; macOS/Linux may need alternative configuration.