Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 44 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,45 +30,78 @@ yay -S woeusb-ng

### For other distributions

### 1. Install WoeUSB-ng's Dependencies
### 1. Install WoeUSB-ng CLI dependencies
#### Ubuntu

```shell
sudo apt install git p7zip-full python3-pip python3-wxgtk4.0 grub2-common grub-pc-bin parted dosfstools ntfs-3g
sudo apt install git p7zip-full python3-pip grub2-common grub-pc-bin parted dosfstools ntfs-3g
```

#### Fedora (tested on: Fedora Workstation 33)
```shell
sudo dnf install git p7zip p7zip-plugins python3-pip python3-wxpython4
sudo dnf install git p7zip p7zip-plugins python3-pip
```

### 2. Install WoeUSB-ng
### 2. Install WoeUSB-ng CLI
```shell
sudo pip3 install WoeUSB-ng
```

### 3. Optional: install GUI support
#### Ubuntu

```shell
sudo apt install python3-wxgtk4.0
sudo pip3 install 'WoeUSB-ng[gui]'
```

#### Fedora (tested on: Fedora Workstation 33)
```shell
sudo dnf install python3-wxpython4
sudo pip3 install 'WoeUSB-ng[gui]'
```

## Installation from source code

### 1. Install WoeUSB-ng's Build Dependencies
### 1. Install WoeUSB-ng CLI build dependencies
#### Ubuntu
```shell
sudo apt install git p7zip-full python3-pip python3-wxgtk4.0 grub2-common grub-pc-bin parted dosfstools ntfs-3g
sudo apt install git p7zip-full python3-pip grub2-common grub-pc-bin parted dosfstools ntfs-3g
```
#### Arch
```shell
sudo pacman -Suy p7zip python-pip python-wxpython
sudo pacman -Suy p7zip python-pip
```
#### Fedora (tested on: Fedora Workstation 33)
```shell
sudo dnf install git p7zip p7zip-plugins python3-pip python3-wxpython4
sudo dnf install git p7zip p7zip-plugins python3-pip
```
### 2. Install WoeUSB-ng
### 2. Install WoeUSB-ng CLI
```shell
git clone https://github.com/WoeUSB/WoeUSB-ng.git
cd WoeUSB-ng
sudo pip3 install .
```

### 3. Optional: install GUI support from source
#### Arch
```shell
sudo pacman -Suy python-wxpython
sudo pip3 install '.[gui]'
```

#### Ubuntu
```shell
sudo apt install python3-wxgtk4.0
sudo pip3 install '.[gui]'
```

#### Fedora (tested on: Fedora Workstation 33)
```shell
sudo dnf install python3-wxpython4
sudo pip3 install '.[gui]'
```

## Installation from source code locally or in virtual environment
```shell
git clone https://github.com/WoeUSB/WoeUSB-ng.git
Expand All @@ -89,5 +122,7 @@ sudo rm /usr/share/icons/WoeUSB-ng/icon.ico \
sudo rmdir /usr/share/icons/WoeUSB-ng/
```

If `woeusbgui` is run without GUI dependencies installed, it will print a short message telling you to install `WoeUSB-ng[gui]`.

## License
WoeUSB-ng is distributed under the [GPL license](https://github.com/WoeUSB/WoeUSB-ng/blob/master/COPYING).
6 changes: 5 additions & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,15 @@ packages = find:
python_requires = >=3.6
include_package_data = True

[options.extras_require]
gui =
wxPython

[options.packages.find]
where = src

[options.entry_points]
gui_scripts =
woeusbgui = WoeUSB.gui:run
woeusbgui = WoeUSB.gui_launcher:run
console_scripts =
woeusb = WoeUSB.core:run
6 changes: 4 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
],
install_requires=[
'termcolor',
'wxPython',
]
],
extras_require={
'gui': ['wxPython'],
},
)
14 changes: 14 additions & 0 deletions src/WoeUSB/gui_launcher.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/usr/bin/env python3


def run():
try:
import WoeUSB.gui
except ImportError as error:
if error.name == 'wx':
print('WoeUSB-ng GUI dependencies are not installed.')
print("Install them with: pip install 'WoeUSB-ng[gui]'")
raise SystemExit(1)
raise

WoeUSB.gui.run()