簡體   English   中英

不能用 zc.recipe.egg 和 Python 3.6 或更高版本安裝 zc.buildout

[英]Can't install zc.buildout with zc.recipe.egg with Python 3.6 or higher

很長一段時間以來,我一直在使用 zc.buildout(與 zc.recipe.egg)來構建我的 Python 包並部署我的運行環境。

幾天以來,我無法再將它與任何高於 3.5 的 Python 版本一起使用::(

啟動時,我收到一個錯誤(在 Gitlab-CI 作業中):

$ pip install zc.buildout
Collecting zc.buildout
  Downloading zc.buildout-2.13.3-py2.py3-none-any.whl (153 kB)
Requirement already satisfied: setuptools>=8.0 in /usr/local/lib/python3.6/site-packages (from zc.buildout) (52.0.0)
Installing collected packages: zc.buildout
Successfully installed zc.buildout-2.13.3
$ buildout
Setting socket time out to 3 seconds.
Creating directory '/builds/G3v_6jyd/0/onf/support/python/pyramid/pyams-v2/pyams-security/develop-eggs'.
Develop: '/builds/G3v_6jyd/0/onf/support/python/pyramid/pyams-v2/pyams-security/.'
warning: no files found matching '*.txt'
warning: no previously-included files matching '*.pyc' found anywhere in distribution
warning: no previously-included files matching '*.*~' found anywhere in distribution
Couldn't develop '/builds/G3v_6jyd/0/onf/support/python/pyramid/pyams-v2/pyams-security/../ext/lingua' (not found)
Couldn't develop '/builds/G3v_6jyd/0/onf/support/python/pyramid/pyams-v2/pyams-security/../pyams_catalog' (not found)
Couldn't develop '/builds/G3v_6jyd/0/onf/support/python/pyramid/pyams-v2/pyams-security/../pyams_file' (not found)
Couldn't develop '/builds/G3v_6jyd/0/onf/support/python/pyramid/pyams-v2/pyams-security/../pyams_i18n' (not found)
Couldn't develop '/builds/G3v_6jyd/0/onf/support/python/pyramid/pyams-v2/pyams-security/../pyams_mail' (not found)
Couldn't develop '/builds/G3v_6jyd/0/onf/support/python/pyramid/pyams-v2/pyams-security/../pyams_site' (not found)
Couldn't develop '/builds/G3v_6jyd/0/onf/support/python/pyramid/pyams-v2/pyams-security/../pyams_utils' (not found)
Getting distribution for 'zc.recipe.egg==2.0.7'.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: cannot import name 'main'
An error occurred when trying to install /tmp/tmp9eg4_d0rget_dist/zc.recipe.egg-2.0.7.tar.gz. Look above this message for any errors that were output by easy_install.
While:
  Installing.
  Getting section package.
  Initializing section package.
  Installing recipe zc.recipe.egg.
  Getting distribution for 'zc.recipe.egg==2.0.7'.
An internal error occurred due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/zc/buildout/buildout.py", line 2174, in main
    getattr(buildout, command)(args)
  File "/usr/local/lib/python3.6/site-packages/zc/buildout/buildout.py", line 701, in install
    [self[part]['recipe'] for part in install_parts]
  File "/usr/local/lib/python3.6/site-packages/zc/buildout/buildout.py", line 701, in <listcomp>
    [self[part]['recipe'] for part in install_parts]
  File "/usr/local/lib/python3.6/site-packages/zc/buildout/buildout.py", line 1324, in __getitem__
    options._initialize()
  File "/usr/local/lib/python3.6/site-packages/zc/buildout/buildout.py", line 1432, in _initialize
    self.initialize()
  File "/usr/local/lib/python3.6/site-packages/zc/buildout/buildout.py", line 1438, in initialize
    recipe_class = _install_and_load(reqs, 'zc.buildout', entry, buildout)
  File "/usr/local/lib/python3.6/site-packages/zc/buildout/buildout.py", line 1388, in _install_and_load
    allow_hosts=buildout._allow_hosts
  File "/usr/local/lib/python3.6/site-packages/zc/buildout/easy_install.py", line 957, in install
    return installer.install(specs, working_set)
  File "/usr/local/lib/python3.6/site-packages/zc/buildout/easy_install.py", line 682, in install
    for dist in self._get_dist(requirement, ws):
  File "/usr/local/lib/python3.6/site-packages/zc/buildout/easy_install.py", line 574, in _get_dist
    dists = [_move_to_eggs_dir_and_compile(dist, self._dest)]
  File "/usr/local/lib/python3.6/site-packages/zc/buildout/easy_install.py", line 1745, in _move_to_eggs_dir_and_compile
    [tmp_loc] = glob.glob(os.path.join(tmp_dest, '*'))
ValueError: not enough values to unpack (expected 1, got 0)

我實際上使用了最后一個 setuptools 版本(52.0.0),我需要能夠為從 3.5 到 3.9 的所有 Python 版本構建我的包......

任何想法?

此致,

蒂埃里

我遇到了同樣的問題,並相信我找到了根本問題。

最新的setuptools版本 (52.0.0) 刪除了zc.buildout使用的easy_install

請參閱此 PR 以供參考: https://github.com/pypa/setuptools/pull/2544

要解決(至少現在),您可以顯式安裝/需要以前版本的setuptools

作為 Max Billingsley III 回答的補充:

當前帶有zc.buildout 2.13.351.3.3 setuptools

我創建了一個拉取請求來將此安裝要求添加到zc.buildout ,它在合並之前需要另一個拉取請求來修復損壞的buildout構建管道。

已經有一個zc.buildoutalpha 版本,它也應該可以工作 - 無需固定setuptools ,因為它不再使用easy_install而是pip

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM