Git Product home page Git Product logo

Comments (9)

mingwandroid avatar mingwandroid commented on June 9, 2024 2

This is because of a limitation of apple's installer technology. There's nothing we can do about it. Conda pack needs to learn a new trick here IMHO.

from conda-pack.

jcrist avatar jcrist commented on June 9, 2024

Apologies for the delayed response. Can you provide the commands to reproduce the environment that failed here? Something like:

$ conda create -n myenv ... # command to create the environment
$ conda pack -n myenv       # packaging command, and error that shows the issue

from conda-pack.

cjh1 avatar cjh1 commented on June 9, 2024

I am running into the same issue. Here is a simple way to reproduce the issue:

conda create -n pack-test
conda install -n pack-test --channel conda-forge python.app
conda pack -n pack-test

from conda-pack.

cjh1 avatar cjh1 commented on June 9, 2024

@jcrist I did a little digging and it looks like all the file in python.app are being reported a missing here. I don't know enough about conda packaging to know why. Let me know if there is more information I can help with to get this resolved.

from conda-pack.

cjh1 avatar cjh1 commented on June 9, 2024

@blesssecret Did you ever find a fix for this issue?

from conda-pack.

cjh1 avatar cjh1 commented on June 9, 2024

Ok, so I have looked into this some more and it looks like python.app is being explicitly excluded from the list of files return by load_files. Removing it from the list allow conda pack to successfully package the environment. @jcrist What is the reason for python.app being in this list?

from conda-pack.

mcg1969 avatar mcg1969 commented on June 9, 2024

Folks, here's the reason why this isn't working.

Install the python.app package and take a look at its unpacked version inside the package cache; e.g.,

cd miniconda3/pkgs/python.app-1.3-py38h64e0658_1 

Of course, your exact path and filename may vary. Here's what you see at the top level if you ls that directory:

bin    info    pythonapp

But in fact, when you look at this installed into the environment, it's "Python.app", not "pythonapp". Why is this? Well, the package's post-link script has the answer:

#!/bin/bash

cp -r "$PREFIX/pythonapp" "$PREFIX/python.app"
rm -rf "$PREFIX/pythonapp"

cd "$PREFIX/python.app/Contents"
ln -s ../../lib .

For whatever reason, the package can't include the actual directory tree for Python.app, it has to create it dynamically for some reason. I don't understand why this is, but this is what confuses conda-pack. In short, conda-pack cannot handle packages that do this kind of magical renaming at the post-link level.

from conda-pack.

mcg1969 avatar mcg1969 commented on June 9, 2024

I'm open to suggestions about how this can be fixed but frankly I think that conda-pack is the wrong tool for this job. This seems like something that constructor should be used for instead, because it actually uses conda to perform the installation, enabling it to execute post-link scripts.

from conda-pack.

github-actions avatar github-actions commented on June 9, 2024

Hi there, thank you for your contribution!

This issue has been automatically marked as stale because it has not had recent activity. It will be closed automatically if no further activity occurs.

If you would like this issue to remain open please:

  1. Verify that you can still reproduce the issue at hand
  2. Comment that the issue is still reproducible and include:
    - What OS and version you reproduced the issue on
    - What steps you followed to reproduce the issue

NOTE: If this issue was closed prematurely, please leave a comment.

Thanks!

from conda-pack.

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.