3

Windowsで実行され、必要なgithubに小さなアプリプロジェクトがありますpythonnet

私のrequirement.txt内容:

beautifulsoup4==4.6
pythonnet==2.3

今、私はそれについてのドキュメントを作成し、readthedocs.org. ドキュメントを github にプッシュし、プロジェクトを にインポートした後、ドキュメントreadthedocs.orgをビルドしようとしましたが、この操作は次のエラーで失敗しました:

Collecting pythonnet==2.3 (from -r /home/docs/checkouts/readthedocs.org/user_builds/trelloradar/checkouts/latest/requirements.txt (line 2))
Using cached pythonnet-2.3.0.tar.gz
Building wheels for collected packages: pythonnet
Running setup.py bdist_wheel for pythonnet: started
Running setup.py bdist_wheel for pythonnet: finished with status 'error'
Complete output from command /home/docs/checkouts/readthedocs.org/user_builds/trelloradar/envs/latest/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-iU2ADR/pythonnet/setup.py';  f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpnPH_1rpip-wheel- --python-tag cp27:
running bdist_wheel
running build
running build_ext
/bin/sh: 1: mono: not found
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/tmp/pip-build-iU2ADR/pythonnet/setup.py", line 405, in <module>
  zip_safe=False,
  ...
  File "/usr/lib/python2.7/subprocess.py", line 541, in check_call
  raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'mono tools/nuget/nuget.exe update -self' returned non-zero exit status 127 

.Net マテリアル、つまりpythonnetを Unix 環境にインストールしようとしているためにビルドが失敗することは理解していますが、Sphinx でドキュメントをビルドしたいだけです。

venv オプションを無効にしました。

setup.py install を使用して、virtualenv 内にプロジェクトをインストールします。

しかし、readthedocs のビルド プロセスに私の .xml ファイルを無視するように指示するにはどうすればよいrequirement.txtでしょうか?

4

1 に答える 1

7

これを解決するには、requirements.readthedocs.txt空のファイルを作成し、[管理] タブの詳細設定でビルド プロセスを指定します。

また、autodoc文句を言わずに .Net モジュールをインポートするために、以下を に入れましたdocs/conf.py

class Mock(MagicMock):
    @classmethod
    def __getattr__(cls, name):
        return MagicMock()

MOCK_MODULES = ['clr', 'System', 'System.Windows.Forms', 'System.Threading']
sys.modules.update((mod_name, Mock()) for mod_name in MOCK_MODULES)
于 2018-01-12T14:47:02.647 に答える