Code Monkey home page Code Monkey logo

Comments (9)

HexDecimal avatar HexDecimal commented on June 11, 2024 1

Thanks, this was what I was looking for: tcod-12.7.0-cp38-cp38-macosx_10_14_6_arm64.whl

ARM64 is a new architecture that I don't have automated builds for. I'll need to check if I can build those.

from python-tcod.

HexDecimal avatar HexDecimal commented on June 11, 2024 1

Version 12.7.1 now as ARM64 builds, but they're cross-compiled so I can't actually test them. You'll need to upgrade and report back.

from python-tcod.

HexDecimal avatar HexDecimal commented on June 11, 2024

Try upgrading tcod to 12.7.0 first:

pip install --upgrade --prefer-binary tcod

from python-tcod.

iamgabrielma avatar iamgabrielma commented on June 11, 2024

Try upgrading tcod to 12.7.0 first:

Thanks for the reply, I tried that previously but I'm not able to. It does seem that there's still a problem with the certificates?

Requirement already satisfied: tcod in ./venv/lib/python3.9/site-packages (12.5.0)
Collecting tcod
  Using cached tcod-12.7.0.tar.gz (745 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... error
    ERROR: Command errored out with exit status 1:
     command: /Users/iamgabrielma/PycharmProjects/roguelikedev2021/venv/bin/python /Users/iamgabrielma/PycharmProjects/roguelikedev2021/venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /var/folders/yv/b0_wydxn4z538d91c156x3lh0000gn/T/tmpsqttyw6w
         cwd: /private/var/folders/yv/b0_wydxn4z538d91c156x3lh0000gn/T/pip-install-4zkbbjev/tcod_7db5647eafd8472aafb3f4d7d12cf79e
    Complete output (78 lines):
    Downloading https://www.libsdl.org/release/SDL2-2.0.5.dmg
    Traceback (most recent call last):
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 1346, in do_open
        h.request(req.get_method(), req.selector, req.data, headers,
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1253, in request
        self._send_request(method, url, body, headers, encode_chunked)
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1299, in _send_request
        self.endheaders(body, encode_chunked=encode_chunked)
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1248, in endheaders
        self._send_output(message_body, encode_chunked=encode_chunked)
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1008, in _send_output
        self.send(msg)
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 948, in send
        self.connect()
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1422, in connect
        self.sock = self._context.wrap_socket(self.sock,
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py", line 500, in wrap_socket
        return self.sslsocket_class._create(
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py", line 1040, in _create
        self.do_handshake()
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py", line 1309, in do_handshake
        self._sslobj.do_handshake()
    ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/Users/iamgabrielma/PycharmProjects/roguelikedev2021/venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 280, in <module>
        main()
      File "/Users/iamgabrielma/PycharmProjects/roguelikedev2021/venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 263, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
      File "/Users/iamgabrielma/PycharmProjects/roguelikedev2021/venv/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 133, in prepare_metadata_for_build_wheel
        return hook(metadata_directory, config_settings)
      File "/private/var/folders/yv/b0_wydxn4z538d91c156x3lh0000gn/T/pip-build-env-q_o5hk39/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 166, in prepare_metadata_for_build_wheel
        self.run_setup()
      File "/private/var/folders/yv/b0_wydxn4z538d91c156x3lh0000gn/T/pip-build-env-q_o5hk39/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 150, in run_setup
        exec(compile(code, __file__, 'exec'), locals())
      File "setup.py", line 104, in <module>
        setup(
      File "/private/var/folders/yv/b0_wydxn4z538d91c156x3lh0000gn/T/pip-build-env-q_o5hk39/overlay/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup
        return distutils.core.setup(**attrs)
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/distutils/core.py", line 108, in setup
        _setup_distribution = dist = klass(attrs)
      File "/private/var/folders/yv/b0_wydxn4z538d91c156x3lh0000gn/T/pip-build-env-q_o5hk39/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 455, in __init__
        _Distribution.__init__(self, {
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/distutils/dist.py", line 292, in __init__
        self.finalize_options()
      File "/private/var/folders/yv/b0_wydxn4z538d91c156x3lh0000gn/T/pip-build-env-q_o5hk39/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 801, in finalize_options
        ep(self)
      File "/private/var/folders/yv/b0_wydxn4z538d91c156x3lh0000gn/T/pip-build-env-q_o5hk39/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 808, in _finalize_setup_keywords
        ep.load()(self, ep.name, value)
      File "/private/var/folders/yv/b0_wydxn4z538d91c156x3lh0000gn/T/pip-build-env-q_o5hk39/overlay/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 219, in cffi_modules
        add_cffi_module(dist, cffi_module)
      File "/private/var/folders/yv/b0_wydxn4z538d91c156x3lh0000gn/T/pip-build-env-q_o5hk39/overlay/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 49, in add_cffi_module
        execfile(build_file_name, mod_vars)
      File "/private/var/folders/yv/b0_wydxn4z538d91c156x3lh0000gn/T/pip-build-env-q_o5hk39/overlay/lib/python3.9/site-packages/cffi/setuptools_ext.py", line 25, in execfile
        exec(code, glob, glob)
      File "build_libtcod.py", line 217, in <module>
        SDL2_PARSE_PATH = unpack_sdl2(SDL2_PARSE_VERSION)
      File "build_libtcod.py", line 163, in unpack_sdl2
        sdl2_arc = get_sdl2_file(version)
      File "build_libtcod.py", line 152, in get_sdl2_file
        urlretrieve(sdl2_remote_file, sdl2_local_file)
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 239, in urlretrieve
        with contextlib.closing(urlopen(url, data)) as fp:
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 214, in urlopen
        return opener.open(url, data, timeout)
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 517, in open
        response = self._open(req, data)
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 534, in _open
        result = self._call_chain(self.handle_open, protocol, protocol +
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 494, in _call_chain
        result = func(*args)
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 1389, in https_open
        return self.do_open(http.client.HTTPSConnection, req,
      File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 1349, in do_open
        raise URLError(err)
    urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)>

from python-tcod.

HexDecimal avatar HexDecimal commented on June 11, 2024

This could be affected by were you got Python from, since it's really weird on MacOS. The certificate issues might be related, but things have already gone wrong if tcod-12.7.0.tar.gz is being used. Any source installs will run into the issue with #108.

You can't use a version of MacOS older than Mavericks, which might mean you can't use a build of Python which is compiled for a version of MacOS earlier than Mavericks. I forget the details of this.

Here's a more aggressive pip command which will still fail but won't try to compile tcod:

pip install --upgrade --only-binary tcod --no-cache-dir tcod

I'm not sure which versions of Python to recommend on MacOS. I can only think of the official Python site or brew.sh for getting Python. You need an installation compatible with tcod-12.7.0-cp36-abi3-macosx_10_9_x86_64.whl

from python-tcod.

iamgabrielma avatar iamgabrielma commented on June 11, 2024

Thanks for the follow-up, I'm using Big Sur (Chip M1), which has given me continuous headaches when trying to use python modules so far. I ended being able to update tcod to 12.7 by updating the certificates following this SO script.

Requirement already satisfied: tcod in ./venv/lib/python3.9/site-packages (12.7.0)

Now it still seems that is not able to find tcod._libtcod, but with a slightly different error:

Traceback (most recent call last):
  File "/Users/iamgabrielma/PycharmProjects/roguelikedev2021/main.py", line 1, in <module>
    import tcod
  File "/Users/iamgabrielma/PycharmProjects/roguelikedev2021/venv/lib/python3.9/site-packages/tcod/__init__.py", line 12, in <module>
    from tcod import bsp, color, console, context, event, image, los, map, noise, path, random, tileset
  File "/Users/iamgabrielma/PycharmProjects/roguelikedev2021/venv/lib/python3.9/site-packages/tcod/bsp.py", line 28, in <module>
    import tcod.random
  File "/Users/iamgabrielma/PycharmProjects/roguelikedev2021/venv/lib/python3.9/site-packages/tcod/random.py", line 14, in <module>
    import tcod.constants
  File "/Users/iamgabrielma/PycharmProjects/roguelikedev2021/venv/lib/python3.9/site-packages/tcod/constants.py", line 5, in <module>
    from tcod.color import Color
  File "/Users/iamgabrielma/PycharmProjects/roguelikedev2021/venv/lib/python3.9/site-packages/tcod/color.py", line 7, in <module>
    from tcod._internal import deprecate
  File "/Users/iamgabrielma/PycharmProjects/roguelikedev2021/venv/lib/python3.9/site-packages/tcod/_internal.py", line 10, in <module>
    from tcod.loader import ffi, lib
  File "/Users/iamgabrielma/PycharmProjects/roguelikedev2021/venv/lib/python3.9/site-packages/tcod/loader.py", line 90, in <module>
    from tcod._libtcod import ffi, lib  # type: ignore # noqa: F401
ImportError: dlopen(/Users/iamgabrielma/PycharmProjects/roguelikedev2021/venv/lib/python3.9/site-packages/tcod/_libtcod.abi3.so, 2): Library not loaded: @rpath/SDL2.framework/Versions/A/SDL2
  Referenced from: /Users/iamgabrielma/PycharmProjects/roguelikedev2021/venv/lib/python3.9/site-packages/tcod/_libtcod.abi3.so
  Reason: image not found

This part here:

ImportError: dlopen(/Users/iamgabrielma/PycharmProjects/roguelikedev2021/venv/lib/python3.9/site-packages/tcod/_libtcod.abi3.so, 2): Library not loaded: @rpath/SDL2.framework/Versions/A/SDL2

There's no such framework on OSX /Library/Frameworks/ , just the Python.framework , I'll give it a go later on and keep the thread updated.

from python-tcod.

HexDecimal avatar HexDecimal commented on June 11, 2024

Your logs keep leaving out the tags used in the wheels you're building with pip. Which would help me greatly in knowing what's going on.

from python-tcod.

iamgabrielma avatar iamgabrielma commented on June 11, 2024

I'm not acquainted how Python wheels work, nor I'm sure how can I provider more info to help you further. Anything specific I can run or share on terminal to share more information? I found these logs back from the initial install that seem to refer to the wheels used:

 Collecting tcod
  Downloading tcod-12.7.0.tar.gz (745 kB)
     |████████████████████████████████| 745 kB 1.2 MB/s 
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Requirement already satisfied: numpy~=1.10 in /Users/iamgabrielma/Library/Python/3.8/lib/python/site-packages (from tcod) (1.21.0rc1)
Collecting typing-extensions
  Downloading typing_extensions-3.10.0.0-py3-none-any.whl (26 kB)
Collecting cffi~=1.13
  Using cached cffi-1.14.5.tar.gz (475 kB)
Collecting pycparser
  Using cached pycparser-2.20-py2.py3-none-any.whl (112 kB)
Building wheels for collected packages: tcod, cffi
  Building wheel for tcod (PEP 517) ... done
  Created wheel for tcod: filename=tcod-12.7.0-cp38-cp38-macosx_10_14_6_arm64.whl size=1572544 sha256=0a14cca7f60cdc4cb33e409649b4491f2e599568204740316a6c36c6cb6d0327
  Stored in directory: /Users/iamgabrielma/Library/Caches/pip/wheels/07/7d/22/76727ff4454b3df78ea300d43bfcceed7500d8647055f738cb
  Building wheel for cffi (setup.py) ... done
  Created wheel for cffi: filename=cffi-1.14.5-cp38-cp38-macosx_10_14_6_arm64.whl size=258284 sha256=d41c28bc1acc3b2c75dd0149bbbffe9f8da58012344f5d95c322ecaeb64db393
  Stored in directory: /Users/iamgabrielma/Library/Caches/pip/wheels/04/f4/d8/7ce287ba472b28f118422005f3e885c8124dd5dd092889685b
Successfully built tcod cffi
Installing collected packages: pycparser, typing-extensions, cffi, tcod
Successfully installed cffi-1.14.5 pycparser-2.20 tcod-12.7.0 typing-extensions-3.10.0.0

from python-tcod.

iamgabrielma avatar iamgabrielma commented on June 11, 2024

Version 12.7.1 now as ARM64 builds, but they're cross-compiled so I can't actually test them. You'll need to upgrade and report back.

You're the best, it works now!

from python-tcod.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.