Date: Sat, 13 Apr 2019 16:57:08 +0900 From: =?UTF-8?B?SGlyb28gT25vICjlsI/ph47lr5vnlJ8p?= <hiroo.ono+freebsd@gmail.com> To: freebsd-users-jp <freebsd-users-jp@freebsd.org> Subject: [FreeBSD-users-jp 96394] Re: =?utf-8?q?numpy=2C_py-opencv_=E3=81=A8_python3?= Message-ID: <CANtk6Sh_iGb3T0xXYsRk6VWvowQuwwyw%2B4%2BRkGvGSknD0hjAyg@mail.gmail.com> In-Reply-To: <CANtk6SiScfDRpvP-8nKfttGiHZ=LE3GYWVoaUCCjYvfLta9wKw@mail.gmail.com> References: <CANtk6Sjd-cGGWoo2yK0TmWCvMh=1PCVG59o6LixFpPV5aLoYUg@mail.gmail.com> <b621880a-1049-852c-fc34-652562fe093b@nifty.com> <CANtk6SiKCnVgfABqH9YtgyqF4HzRGfAKCYLNE3xbNdMTX%2BVoSw@mail.gmail.com> <201904100301.x3A314hx002908@kx.openedu.org> <CANtk6SiScfDRpvP-8nKfttGiHZ=LE3GYWVoaUCCjYvfLta9wKw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
小野寛生です。
numpy はうまくいったんですが、graphics/py-opencv の方は
Ignoring graphics/py-opencv: Unknown flavor 'py37', possible flavors: py27.
というエラーが出てしまいました。
ports の Mk/Uses/python.mk を見てみたらコメントに
# concurrent - Indicates that the port can be installed for
# different python versions at the same time. The port
# is supposed to use a unique prefix for certain
# directories using USES=uniquefiles:dirs (see the
# uniquefiles.mk Uses for details about the
# directories), if set to yes. Binaries receive an
# additional suffix, based on ${PYTHON_VER}.
# flavors - Force creation of flavors for Python 2 and 3 default
# versions, where applicable.
# allflavors - Generate flavors for all possible versions and not
# simply the default ones. Only to be used for py-*
# ports that are part of the Python distribution, but
# kept as separate ports.
とあって、ports の Makefile で、flavors だけの指定だと python の default version に対するものしか作られず、
allflavors が指定されているとすべてのバージョンの python に対するものが作成可能ですが、
concurrent が指定されていないと同時にはインストールできないということのようです。
ということで、math/py-numpy は USE_PYTHON= allflavors concurrent が指定されていますが、
graphics/py-opencv は flavors しか指定されていないという違いがありました。
現状の py-opencv は SITELIBDIR の下のモジュールだけなので、numpy のように、allflavors
concurrent を指定してもよさそうなものですが。
2019年4月10日(水) 12:30 Hiroo Ono (小野寛生) <hiroo.ono+freebsd@gmail.com>:
>
> 小野寛生です。
>
> 2019年4月10日(水) 12:01 KIRIYAMA Kazuhiko <kiri@kx.openedu.org>:
> >
> > 桐山です
>
> > > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=226634#c8
> >
> > この記事では Python27 と Python36 は共存できないと書いていま
> > すが,py36-setuptools は graphics/mesa-libs で使うので,結局
> > 今の ports ツリーではまず最初に
>
> いえ、この記事が言っているのは、
> 1) DEFAULT_VERSIONS=python=2.7 でビルドされた py27-setuptools と
> DEFAULT_VERSIONS=python=3.6 でビルドされた py36-setuptools は共存できない。
> 2) DEFAULT_VERSIONS=python=2.7 でビルドされた py27-setuptools と
> DEFAULT_VERSIONS=python=2.7 でビルドされた py36-setuptools は共存できる。
> 3) DEFAULT_VERSIONS=python=3.6 でビルドされた py27-setuptools と
> DEFAULT_VERSIONS=python=3.6 でビルドされた py36-setuptools も共存できる。
>
> ということです。
> 具体的には、devel/py-setuptools はデフォルトのバージョンと同じ FLAVOR
> を作成する場合に、/usr/local/bin/easy_install という
> バージョン番号のつかないファイルを生成するのですが、(1) では両方のパッケージがこのファイルを持つので衝突します。
> (2) と (3) の場合は異なる FLAVOR のパッケージの中で 1 つしかこのファイルを持たないので衝突しません。
> つまるところ、ports&packages のシステムでは、DEFAULT_VERSIONS の設定が異なるパッケージが混ざることは
> 想定していないし、サポートするつもりもない。基本的には DEFAULT_VERSIONS を変更したらパッケージを全部
> 作り直してねということなんだと思います。
>
>
> > # make -C $PORTSDIR/devel/py-setuptools FLAVOR=py36 install
> > # make -C $PORTSDIR/graphics/mesa-libs PYTHON_VERSION=python2.7 install
> >
> > しとかないとうまくいかないと思います.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANtk6Sh_iGb3T0xXYsRk6VWvowQuwwyw%2B4%2BRkGvGSknD0hjAyg>
