conda-forge / miniforge

A conda-forge distribution.
https://conda-forge.org/miniforge
Other
6.38k stars 326 forks source link

Linux arm64 container in termux #140

Closed Chuanhuan closed 1 year ago

Chuanhuan commented 3 years ago

I managed to install miniforge and no errors while installation. But I just can't find conda command.

Screenshot_20210330-113913_Termux.jpg

I used find. But I think the virtual environment somehow doesn't create.

root@localhost:~# conda -bash: conda: command not found root@localhost:~# find miniforge3/ -name conda miniforge3/pkgs/conda-4.9.2-py38h2063c64_0/info/test/tests/test-recipes/activate_deactivate_package/src/etc/conda miniforge3/pkgs/conda-4.9.2-py38h2063c64_0/lib/python3.8/site-packages/conda miniforge3/pkgs/conda-4.9.2-py38h2063c64_0/lib/python3.8/site-packages/conda/shell/bin/conda miniforge3/pkgs/conda-4.9.2-py38h2063c64_0/bin/conda miniforge3/pkgs/conda-4.9.2-py38h2063c64_0/condabin/conda miniforge3/bin/conda miniforge3/lib/python3.8/site-packages/conda miniforge3/lib/python3.8/site-packages/conda/shell/bin/conda miniforge3/condabin/conda

hmaarrfk commented 3 years ago

you have to activate it first.

Are you trying to run this off a cellphone?

Chuanhuan commented 3 years ago

you have to activate it first.

Are you trying to run this off a cellphone?

How to activate miniforge?

Yes, I use proot-distro install debian-buster container and login with my script. I find in miniforge3/pkgs/conda-4.9.2-py38h2063c64_0/info/test/tests/test-recipes/activate_deactivate_package/src/etc/conda/ but don't know how to activate!

My ultimate goal is trying to install pyomo to solve optimization problems. Last year I make my linux work with several solvers in my Samsung Galaxy phone. However I accidentally deleted my linux container and I couldn't make it work again.

hmaarrfk commented 3 years ago

We source the conda.sh file, then activate:

https://github.com/conda-forge/docker-images/blob/master/scripts/run_commands#L31 https://github.com/conda-forge/docker-images/blob/master/linux-anvil-cos7-x86_64/Dockerfile#L39

let me know if this helps.

Chuanhuan commented 3 years ago

We source the conda.sh file, then activate:

https://github.com/conda-forge/docker-images/blob/master/scripts/run_commands#L31 https://github.com/conda-forge/docker-images/blob/master/linux-anvil-cos7-x86_64/Dockerfile#L39

let me know if this helps.

thanks a lot for your help. I got the problem is below root@localhost:~# ls -l /opt/conda/etc/profile.d/conda.sh ls: cannot access '/opt/conda/etc/profile.d/conda.sh': Operation not permitted

I also in install in my /root/miniforge directory. Usechattr -i to conda.sh file also no luck to work.

root@localhost:~# ls -l miniforge3/etc/profile.d/ ls: cannot access 'miniforge3/etc/profile.d/conda.csh': Operation not permitted ls: cannot access 'miniforge3/etc/profile.d/conda.sh': Operation not permitted total 0 l????????? ? ? ? ? ? conda.csh l????????? ? ? ? ? ? conda.sh root@localhost:~# chattr -i miniforge3/etc/profile.d/conda.sh chattr: Operation not permitted while trying to stat miniforge3/etc/profile.d/conda.sh

corporal9736 commented 3 years ago

I meet with the same problem and I finally get a conda-like( actually not original conda) by using micromamba, which is a independent package and environment manager. It can run correctly in termux.

Chuanhuan commented 3 years ago

I meet with the same problem and I finally get a conda-like( actually not original conda) by using micromamba, which is a independent package and environment manager. It can run correctly in termux.

Thx and it works fine for me also. However my ultimate goal is trying to get pyomo works for solving optimization problems. I still can't install pyomo via arm64 conda-forge.

corporal9736 commented 3 years ago

I have successfully installed pyomo, however, there's might some problems with the solvers it use. I have not time install and test them. You need to build pyomo from source code accroding to the official guidance. There are two points during my installation:

  1. you need to install pyodbc from apt(if you use ubuntu in termux), as there are some problems using pip, and its source code seems to use c++. Using system built package is eaiser.
  2. you need to build PyUtilib from source as well, because the needed version by pyomo is 6.0.1-dev0, which haven't collected by pypi. Btw, the python version I use is 3.8.
corporal9736 commented 3 years ago

Screenshot_20210417_011118_com termux

Chuanhuan commented 3 years ago

Really appreciate for your help! I also fail install solvers in my debian. I found package from conda-smith https://github.com/conda-forge/conda-smithy micromamba install -c conda-forge conda-smithy after installation,

conda install pyomo.extras -c conda-forge
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.

PackagesNotFoundError: The following packages are not available from current channels:

  - pyomo.extras

Current channels:

  - https://conda.anaconda.org/conda-forge/linux-aarch64
  - https://conda.anaconda.org/conda-forge/noarch
  - https://repo.anaconda.com/pkgs/main/linux-aarch64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/r/linux-aarch64
  - https://repo.anaconda.com/pkgs/r/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

Does this means there is no packages in conda-forge and anaconda ??

corporal9736 commented 3 years ago

You can search accroding to the guidance on anaconda.org After searching you'll find that there is no version for aarch64 Linux but only linux-64(which I think refers to x86_64 Linux) So you might need to find if there are pre-build packages from other channels or build from source by yourself.

corporal9736 commented 3 years ago

There might also another reason: I find that the highest python version that pyomo.extra support is py3.7 You might need to change the python version and try again.

hmaarrfk commented 3 years ago

Conda forge typically doesn't have dot packages like pyomo.extra

You should ask that the pyomo package be migrated to aarch64 on pyomo's feedstock.

https://github.com/conda-forge/pyomo-feedstock

corporal9736 commented 3 years ago

Here are some thing new about installing miniforge... which I don't know if I should create a new issue. In the installing process, I changed the script and stop it somewhere to find what happened and debug. The process of generating conda.exe runs properly. If I type ./conda.exe -h or other command the info shows correctly. However, the ./conda.exe install process has something wrong. I think I need to talk about proot first. It's just something like chroot, which allows you to make a fake file system inside you system and run as root in the fake one. Proot is designed for no-root users, so some features are not usable. And now I use a ubuntu system via proot. I see the same thing inside proot-system as @Chuanhuan ,but I tried see the files from outside system, and I found that the red(unusable) files are actually linked to deleted files. Screenshot_20210425_102214_com termux And I think these might be the files in process and due to some reasons the link didn't be changed correctly. In other words there might be something wrong inside the conda.exe.

And another clue is that if i use ./conda.exe intall -vv some-package there are some errors like below: Screenshot_20210425_102809_com termux I don't know if that might help.

casperdcl commented 3 years ago

Pretty sure this is a duplicate of #107

isuruf commented 1 year ago

Duplicate of #107