1

それぞれのマニュアルに記載されているように、オープン エネルギー モデリング フレームワーク (oemof) PyPi パッケージの conda パッケージを構築しようとしています。oemof パッケージには、適切なレシピを使用して事前にインストールしたPyomoパッケージが要件として含まれています。

私の問題は、ビルド プロセス中にエラーが発生することです。

 Package missing in current linux-64 channels: 
 - pyomo >=4.2.0

インストールされている Pyomo のバージョンは 4.2 以上のようですが、

cord@crd-Laptop:~/.anaconda3/bin$ ./conda update pyomo
pyomo                     4.2.10784               py35_10    cachemeorg

ここでの私の間違いは何ですか? conda マニュアルに記載されているようにパッケージをビルドするにはどうすればよいですか?

前もって感謝します!

以下に、これまでに行った手順を示します。

cord@crd-Laptop:~/.anaconda3/bin$ ./conda skeleton pypi oemof
Warning, the following versions were found for oemof
0.0.6
0.0.5
0.0.4
0.0.3
Using 0.0.6
Use --version to specify a different version.
Using url https://pypi.python.org/packages/3b/1f/5a82acf8cbcb3d0adb537346b2939cb6fa415e9c347f734af19c8a1b50d1/oemof-0.0.6.tar.gz (52 KB) for oemof.
Downloading oemof
Using cached download
Unpacking oemof...
done
working in /tmp/tmpd67mbpi2conda_skeleton_oemof-0.0.6.tar.gz
Using Anaconda Cloud api site https://api.anaconda.org
Fetching package metadata: ......
Solving package specifications: .........

The following NEW packages will be INSTALLED:

    mkl:        11.3.1-0     
    numpy:      1.11.0-py35_0
    openssl:    1.0.2g-0     
    pip:        8.1.1-py35_1 
    python:     3.5.1-0      
    pyyaml:     3.11-py35_1  
    readline:   6.2-2        
    setuptools: 20.7.0-py35_0
    sqlite:     3.9.2-0      
    tk:         8.5.18-0     
    wheel:      0.29.0-py35_0
    xz:         5.0.5-1      
    yaml:       0.1.6-0      
    zlib:       1.2.8-0      

Linking packages ...
[      COMPLETE      ]|###########################################################################################| 100%
Applying patch: '/tmp/tmpd67mbpi2conda_skeleton_oemof-0.0.6.tar.gz/pypi-distutils.patch'
patching file core.py
Hunk #1 succeeded at 167 with fuzz 2 (offset 1 line).
Using "UNKNOWN" for the license
Writing recipe for oemof
Done

cord@crd-Laptop:~/.anaconda3/bin$ ./conda build oemof
Removing old build environment
Removing old work directory
BUILD START: oemof-0.0.6-py35_0
Using Anaconda Cloud api site https://api.anaconda.org
Fetching package metadata: ......
Solving package specifications: .
 Package missing in current linux-64 channels: 
  - pyomo >=4.2.0
Missing dependency pyomo, but found recipe directory, so building pyomo first
Ignoring non-recipe: pyomo
Removing old build environment
Removing old work directory
BUILD START: oemof-0.0.6-py35_0
Fetching package metadata: ......
Solving package specifications: .
 Package missing in current linux-64 channels: 
  - pyomo >=4.2.0

cord@crd-Laptop:~/.anaconda3/bin$ ./conda update pyomo
Using Anaconda Cloud api site https://api.anaconda.org
Fetching package metadata: ....
# All requested packages already installed.
# packages in environment at /home/cord/.anaconda3:
#
pyomo                     4.2.10784               py35_10    cachemeorg
cord@crd-Laptop:~/.anaconda3/bin$ 
4

1 に答える 1

1

ビルド手順については、 を試してくださいconda build -c cachemeorg oemof

ここでの問題は、conda buildビルド時にまったく新しい conda 環境が作成され、その環境に pyomo を含むすべてのパッケージの依存関係がインストールされることだと思います。ルートに現在インストールされているパッケージではなく、チャネルで検索してインストールします。この例では、pyomo がパッケージとしてインストールされていますが、これは自分でインストールしたため、チャネル リストのチャネルからのものではありません。そのため、conda チャンネルを検索するときに pyomo パッケージを見つけることができません。しかし、conda ビルドが (-cフラグを介して) 見ているリストに pyomo を持つチャネルを追加すると、動作するはずです。cachemeorg にはこのパッケージがあるように見えるため、上記のコマンドは機能するはずです。

于 2016-05-02T16:33:18.210 に答える