update README for the python packaging update

This commit is contained in:
ihaveahax
2026-01-11 16:52:46 -06:00
parent cf0fdcd9a1
commit 6c70ee5780

View File

@@ -12,19 +12,28 @@ Installs a title directly to an SD card for the Nintendo 3DS. Originally created
3. Extract and run ci-gui. Read `windows-quickstart.txt`. 3. Extract and run ci-gui. Read `windows-quickstart.txt`.
### With installed Python ### With installed Python
Note for Windows users: Enabling "Add Python 3.X to PATH" is **NOT** required! Python is installed with the `py` launcher by default.
> [!NOTE]
> Windows users: Enabling "Add Python 3.X to PATH" is **NOT** required! Python is installed with the `py` launcher by default.
1. [Dump boot9.bin and movable.sed](https://ihaveamac.github.io/dump.html) from a 3DS system. 1. [Dump boot9.bin and movable.sed](https://ihaveamac.github.io/dump.html) from a 3DS system.
2. Download the repo ([zip link](https://github.com/ihaveamac/custom-install/archive/safe-install.zip) or `git clone`) 2. Install the packages:
3. Install the packages: * Windows: `py -3 -m pip install --user --upgrade https://github.com/ihaveamac/custom-install/archive/refs/heads/python-package.zip`
* Windows: Double-click `windows-install-dependencies.py` * macOS/Linux: `python3 -m pip install --user --upgrade https://github.com/ihaveamac/custom-install/archive/refs/heads/python-package.zip`
* Alternate manual method: `py -3 -m pip install --user -r requirements-win32.txt`
* macOS/Linux: `python3 -m pip install --user -r requirements.txt` To run the GUI:
4. Run `custominstall.py` with boot9.bin, movable.sed, path to the SD root, and CIA files to install (see Usage section). * Windows: `py -3 -m custominstall.gui`
5. Download and use [custom-install-finalize](https://github.com/ihaveamac/custom-install/releases) on the 3DS system to finish the install. * macOS/Linux: `python3 -m custominstall.gui`
To run the command line version:
* Windows: `py -3 -m custominstall`
* macOS/Linux: `python3 -m custominstall`
## Setup ## Setup
Linux users must build [wwylele/save3ds](https://github.com/wwylele/save3ds) and place `save3ds_fuse` in `bin/linux`. Install [rust using rustup](https://www.rust-lang.org/tools/install), then compile with: `cargo build --release --no-default-features`. The compiled binary is located in `target/release/save3ds_fuse`, copy it to `bin/linux`. Linux users must build [wwylele/save3ds](https://github.com/wwylele/save3ds) and place `save3ds_fuse` in one of these places:
* A directory in `PATH`
* In `custominstall/bin/linux`
* Set the environment variable `CUSTOM_INSTALL_SAVE3DS_PATH` to the `save3ds_fuse` binary
movable.sed is required and can be provided with `-m` or `--movable`. movable.sed is required and can be provided with `-m` or `--movable`.
@@ -55,9 +64,9 @@ Use `-h` to view arguments.
Examples: Examples:
``` ```
py -3 custominstall.py -b boot9.bin -m movable.sed --sd E:\ file.cia file2.cia py -3 -m custominstall -b boot9.bin -m movable.sed --sd E:\ file.cia file2.cia
python3 custominstall.py -b boot9.bin -m movable.sed --sd /Volumes/GM9SD file.cia file2.cia python3 -m custominstall -b boot9.bin -m movable.sed --sd /Volumes/GM9SD file.cia file2.cia
python3 custominstall.py -b boot9.bin -m movable.sed --sd /media/GM9SD file.cia file2.cia python3 -m custominstall -b boot9.bin -m movable.sed --sd /media/GM9SD file.cia file2.cia
``` ```
## GUI ## GUI
@@ -66,26 +75,14 @@ A GUI is provided to make the process easier.
### GUI Setup ### GUI Setup
Linux users may need to install a Tk package: Linux users may need to install a Tk package:
- Ubuntu/Debian: `sudo apt install python3-tk` - Ubuntu/Debian: `sudo apt install python3-tk`
- Manjaro/Arch: `sudo pacman -S tk` - Arch: `sudo pacman -S tk`
Install the requirements listed in "Summary", then run `ci-gui.py`.
## Development ## Development
### Building Windows standalone ### Building Windows standalone
Using a 32-bit version of Python is recommended to build a version to be distributed. > [!WARNING]
> This section is OUTDATED and currently does not work with the Python package setup.
A [virtual environment](https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/#creating-a-virtual-environment) is recommended to isolate the packages from system directories. The build script `make-standalone.bat` assumes that the dependencies are in PATH.
Install the dependencies, plus cx-Freeze. In a virtual environment, the specific Python version doesn't need to be requested.
```batch
pip install cx-freeze -r requirements-win32.txt
```
Copy `custom-install-finalize.3dsx` to the project root, this will be copied to the build directory and included in the final archive.
Run `make-standalone.bat`. This will run cxfreeze and make a standalone version at `dist\custom-install-standalone.zip`
## License/Credits ## License/Credits
[save3ds by wwylele](https://github.com/wwylele/save3ds) is used to interact with the Title Database (details in `bin/README`). [save3ds by wwylele](https://github.com/wwylele/save3ds) is used to interact with the Title Database (details in `bin/README`).