Comments (9)
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.
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.
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.
@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.
@blesssecret Did you ever find a fix for this issue?
from conda-pack.
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.
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.
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.
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:
- Verify that you can still reproduce the issue at hand
- 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)
- Conda pack does not work with Python 3.10 or 3.11 HOT 13
- `conda-unpack` cleanup prefixes not working HOT 1
- R/etc/ldpaths: No such file or directory HOT 3
- Permission error when packing to squashfs file on Linux HOT 2
- Lost my maintainer rights HOT 6
- Is it needed to run `conda-unpack` with squashfs ? HOT 2
- Deactivate script is deprecated and not available on mamba environments HOT 1
- Fix environment clobbered by pip by repairing conda-meta
- Add support for alternative compressors for mksquashfs
- [Governance] Access to Settings in this repo HOT 2
- conda-pack documentation is outdated
- Support for incremental migration of conda environments
- Conda-Managed Files Deleted or Overwritten HOT 2
- Absorb in `constructor` HOT 8
- Unversioned python in conda-unpack script shebang
- Unpacking to path containing whitespace does not work
- unpack to another writable dir
- add a .unpacked file in the env prefix folder to indicate that the unpack script is running or done
- Write a Wiki page to describe local execution of test suite
- Question about how conda pack works, why the pack step is necessary
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from conda-pack.