|
1 | 1 | .. image:: https://raw.githubusercontent.com/sinusphi/venvipy/main/img/cover_slim.png |
| 2 | + :alt: VenviPy cover |
| 3 | + |
| 4 | +VenviPy |
| 5 | +======= |
2 | 6 |
|
3 | 7 | **A GUI for managing multiple Python virtual environments** |
4 | 8 |
|
5 | | -.. image:: https://img.shields.io/badge/pypi-v0.3.8-blue?logo=pypi&logoColor=gold |
6 | | - :target: https://pypi.org/project/venvipy/0.3.8 |
| 9 | +.. image:: https://img.shields.io/pypi/v/venvipy?logo=pypi&logoColor=gold |
| 10 | + :target: https://pypi.org/project/venvipy/ |
7 | 11 |
|
8 | | -.. image:: https://img.shields.io/badge/python-3.6+-blue?logo=python&logoColor=gold |
9 | | - :target: https://www.python.org/downloads |
| 12 | +.. image:: https://img.shields.io/badge/python-3.7%2B-blue?logo=python&logoColor=gold |
| 13 | + :target: https://www.python.org/downloads/ |
10 | 14 |
|
11 | 15 | .. image:: https://img.shields.io/badge/pyqt-5.15.9-darkgreen?logo=qt&logoColor=green |
12 | | - :target: https://pypi.org/project/PyQt5 |
| 16 | + :target: https://pypi.org/project/PyQt5/5.15.9/ |
13 | 17 |
|
14 | 18 | .. image:: https://pepy.tech/badge/venvipy |
15 | 19 | :target: https://pepy.tech/project/venvipy |
16 | 20 |
|
17 | | -.. image:: https://img.shields.io/badge/platform-linux-darkblue?logo=linux&logoColor=FFE873 |
18 | | - :target: https://www.linux.org/pages/download |
| 21 | +.. image:: https://img.shields.io/badge/platform-linux-orange?logo=linux&logoColor=FFE873 |
| 22 | + :target: https://www.linux.org/pages/download/ |
19 | 23 |
|
20 | 24 | .. image:: https://img.shields.io/badge/code%20style-black-000000 |
21 | 25 | :target: https://github.com/psf/black |
22 | 26 |
|
23 | 27 | .. image:: https://img.shields.io/badge/license-GPL%203.0-darkviolet |
24 | 28 | :target: https://github.com/sinusphi/venvipy/blob/main/LICENSE |
25 | 29 |
|
26 | | -.. image:: https://img.shields.io/badge/donations-paypal-orange?logo=paypal&logoColor=darkblue |
| 30 | +.. image:: https://img.shields.io/badge/donations-paypal-darkblue?logo=paypal&logoColor=darkblue |
27 | 31 | :target: https://paypal.me/yserestou |
28 | 32 |
|
29 | | -.. |
30 | | - .. image:: https://img.shields.io/travis/sinusphi/venvipy/main?label=Travis%20CI&logo=travis |
31 | | - :target: https://travis-ci.org/sinusphi/venvipy |
32 | | -
|
33 | 33 | | |
34 | 34 |
|
35 | 35 | Introduction |
36 | 36 | ------------ |
37 | 37 |
|
38 | | -*VenviPy* is a graphical user interface for creating or modifing customized |
39 | | -virtual environments quick and easy. It was developed for \*NIX systems and |
40 | | -has been tested on various distributions. |
| 38 | +*VenviPy* is a desktop GUI to create, manage, and maintain many Python virtual |
| 39 | +environments from one place. It focuses on a fast workflow: |
41 | 40 |
|
42 | | -*VenviPy* provides a set of features like a wizard, that guides the user through |
43 | | -the creation process, a table that shows an overview of installed |
44 | | -environments in a specific directory and a collection of context menu |
45 | | -actions like listing detailed information about an environment and much |
46 | | -more. |
| 41 | +* create environments via a wizard (Python version, name, location, packages) |
| 42 | +* keep an overview table of all environments in a directory |
| 43 | +* install / update / inspect packages with context-menu actions |
| 44 | + |
| 45 | +VenviPy was originally built for \*NIX systems. Windows support exists via a |
| 46 | +platform abstraction layer, but should be considered experimental unless stated otherwise. |
47 | 47 |
|
48 | 48 | | |
49 | 49 |
|
50 | | -**The main menu:** |
| 50 | +Screenshots |
| 51 | +----------- |
| 52 | + |
| 53 | +**Main menu** |
51 | 54 |
|
52 | 55 | .. image:: https://raw.githubusercontent.com/sinusphi/venvipy/main/img/screen-1.png |
| 56 | + :alt: Main menu screenshot |
53 | 57 |
|
54 | 58 | | |
55 | 59 |
|
56 | | -**The wizard:** |
| 60 | +**Wizard** |
57 | 61 |
|
58 | 62 | .. image:: https://raw.githubusercontent.com/sinusphi/venvipy/main/img/screen-2.png |
| 63 | + :alt: Wizard screenshot |
59 | 64 |
|
60 | 65 | | |
61 | 66 |
|
62 | | -**Output when running pip commands:** |
| 67 | +**Pip output** |
63 | 68 |
|
64 | 69 | .. image:: https://raw.githubusercontent.com/sinusphi/venvipy/main/img/screen-3.png |
| 70 | + :alt: Pip output screenshot |
65 | 71 |
|
66 | 72 | | |
67 | 73 |
|
68 | 74 | Key Features |
69 | 75 | ------------ |
70 | 76 |
|
71 | | -* Create virtual environments with any Python version (3.3+) |
72 | | -* Clone an environment from a requirements file |
73 | | -* Generate requirements from an existing environment |
74 | | -* Add a description to an environment |
| 77 | +Environment management |
| 78 | +~~~~~~~~~~~~~~~~~~~~~~ |
75 | 79 |
|
76 | | -| |
| 80 | +* Create virtual environments with a selectable Python version (3.3+) |
| 81 | +* Clone an environment from a requirements file |
| 82 | +* Generate requirements from an existing environment |
| 83 | +* Add a description to an environment |
77 | 84 |
|
78 | | -* Install and update Pip and Wheel with one click |
79 | | -* Search and install packages from `PyPI <https://pypi.org/>`__ |
80 | | -* Install from requirements files |
81 | | -* Install from local stored project directories |
82 | | -* Install from a VCS project url *(currently git only)* |
83 | | -* Install from local or remote source archives |
| 85 | +Package management |
| 86 | +~~~~~~~~~~~~~~~~~~ |
84 | 87 |
|
85 | | -| |
| 88 | +* Install and update Pip and Wheel with one click |
| 89 | +* Search and install packages from `PyPI <https://pypi.org/>`__ |
| 90 | +* Install from requirements files |
| 91 | +* Install from local project directories |
| 92 | +* Install from a VCS URL *(currently git only)* |
| 93 | +* Install from local or remote source archives |
| 94 | + |
| 95 | +Inspection & tooling |
| 96 | +~~~~~~~~~~~~~~~~~~~~ |
86 | 97 |
|
87 | | -* List detailed information about installed packages |
88 | | -* Show dependency tree (using |
89 | | - `pipdeptree <https://pypi.org/project/pipdeptree/#description>`__ package) |
90 | | -* Open a project's `PyPI <https://pypi.org/>`__ website in your browser |
| 98 | +* List detailed information about installed packages |
| 99 | +* Show dependency tree *(via* `pipdeptree <https://pypi.org/project/pipdeptree/>`__ *)* |
| 100 | +* Open a project's PyPI page in your browser |
91 | 101 |
|
92 | 102 | | |
93 | 103 |
|
94 | | -Prerequisits |
95 | | ------------- |
| 104 | +Prerequisites |
| 105 | +------------- |
| 106 | + |
| 107 | +* Python **3.7+** (PyQt5 5.15.9 requires Python >= 3.7) |
| 108 | +* A working ``venv`` module for the Python versions you want to use |
| 109 | + |
| 110 | +Linux (Debian/Ubuntu) |
| 111 | +~~~~~~~~~~~~~~~~~~~~~ |
| 112 | + |
| 113 | +Install the basics: |
| 114 | + |
| 115 | +.. code-block:: bash |
| 116 | +
|
| 117 | + sudo apt update |
| 118 | + sudo apt install python3-pip python3-venv |
96 | 119 |
|
97 | | -If you don't have a Python built from source, you'll have to run *VenviPy* |
98 | | -using your operating system's Python (3.6+). In this case please make sure |
99 | | -that the following packages are installed on your system: |
| 120 | +If you want to create venvs for a specific Python version, install its ``-venv`` package as well |
| 121 | +(example for Python 3.10): |
100 | 122 |
|
101 | 123 | .. code-block:: bash |
102 | 124 |
|
103 | | - python3-pip |
104 | | - python3-venv |
105 | | - python3.10-venv |
| 125 | + sudo apt install python3.10-venv |
| 126 | +
|
| 127 | +Windows |
| 128 | +~~~~~~~ |
| 129 | + |
| 130 | +Install Python from python.org and make sure it is on ``PATH``. No additional system packages are required. |
106 | 131 |
|
107 | 132 | | |
108 | 133 |
|
109 | 134 | Installation |
110 | 135 | ------------ |
111 | 136 |
|
112 | | -Installing packages directly into your operating system's Python is |
113 | | -discouraged. If you want to do it anyway, do it like this: |
| 137 | +Installing into the system Python is discouraged. Use a dedicated venv (recommended) or ``pipx``. |
| 138 | + |
| 139 | +Recommended: install into a venv |
| 140 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
114 | 141 |
|
115 | 142 | .. code-block:: bash |
116 | 143 |
|
117 | | - $ python3.x -m pip install venvipy |
| 144 | + python -m venv .venv |
118 | 145 |
|
119 | | -The better way however is to create a virtual environment and install |
120 | | -*VenviPy* into it: |
| 146 | + # on Linux/macOS: |
| 147 | + source .venv/bin/activate |
121 | 148 |
|
122 | | -.. code-block:: bash |
| 149 | + # on Windows (PowerShell): |
| 150 | + # .venv\\Scripts\\Activate.ps1 |
123 | 151 |
|
124 | | - $ python3.x -m venv [your_venv] |
125 | | - $ source [your_venv]/bin/activate |
| 152 | + pip install -U pip |
| 153 | + pip install venvipy |
126 | 154 |
|
127 | | -To install the latest stable version of *VenviPy*: |
| 155 | +Development version (GitHub): |
128 | 156 |
|
129 | 157 | .. code-block:: bash |
130 | 158 |
|
131 | | - $ (your_venv) pip install venvipy |
| 159 | + pip install -U pip |
| 160 | + pip install git+https://github.com/sinusphi/venvipy.git |
132 | 161 |
|
133 | | -for the developement version: |
| 162 | +Alternative: install with pipx |
| 163 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
134 | 164 |
|
135 | 165 | .. code-block:: bash |
136 | 166 |
|
137 | | - $ (your_venv) pip install git+https://github.com/sinusphi/venvipy.git |
| 167 | + pipx install venvipy |
138 | 168 |
|
139 | | -Now you can launch |
| 169 | +| |
140 | 170 |
|
141 | | -- the main menu via: |
| 171 | +Usage |
| 172 | +----- |
142 | 173 |
|
143 | | - - .. code-block:: bash |
| 174 | +After installation you get the entry point: |
144 | 175 |
|
145 | | - $ (your_venv) venvipy |
| 176 | +.. code-block:: bash |
146 | 177 |
|
147 | | -- or run the wizard standalone to quickly create and set up an environment: |
| 178 | + venvipy |
148 | 179 |
|
149 | | - - .. code-block:: bash |
| 180 | +For command line options run: |
150 | 181 |
|
151 | | - $ (your_venv) venvipy-wizard |
| 182 | +.. code-block:: bash |
| 183 | +
|
| 184 | + venvipy --help |
152 | 185 |
|
153 | 186 | | |
154 | 187 |
|
155 | 188 | Running from source |
156 | 189 | ------------------- |
157 | 190 |
|
158 | | -Clone the repository (use the ``--depth`` option): |
| 191 | +Clone and install dependencies: |
159 | 192 |
|
160 | 193 | .. code-block:: bash |
161 | 194 |
|
162 | | - $ (your_venv) git clone --depth 50 git@github.com:sinusphi/venvipy.git |
| 195 | + git clone --depth 50 https://github.com/sinusphi/venvipy.git |
| 196 | + cd venvipy |
| 197 | + python -m venv .venv |
163 | 198 |
|
164 | | -Cd into the repo folder and install the dependencies. On Python 3.6 you will also |
165 | | -need to install the ``dataclasses`` package if you're not using the provided |
166 | | -`requirements.txt <https://github.com/sinusphi/venvipy/blob/main/requirements.txt>`__: |
| 199 | + # on Linux/macOS: |
| 200 | + source .venv/bin/activate |
167 | 201 |
|
168 | | -.. code-block:: bash |
| 202 | + # on Windows (PowerShell): |
| 203 | + # .venv\\Scripts\\Activate.ps1 |
169 | 204 |
|
170 | | - $ (your_venv) pip install -r requirements.txt |
| 205 | + pip install -U pip |
| 206 | + pip install -r requirements.txt |
171 | 207 |
|
172 | | -or manually: |
| 208 | +If you prefer a minimal manual install: |
173 | 209 |
|
174 | 210 | .. code-block:: bash |
175 | 211 |
|
176 | | - $ (your_venv) pip install requests beautifoulsoup4 pyqt5==5.15.9 |
177 | | -
|
178 | | -Then you can |
| 212 | + pip install requests beautifulsoup4 PyQt5==5.15.9 |
179 | 213 |
|
180 | | -- launch the main menu: |
| 214 | +Run: |
181 | 215 |
|
182 | | - - .. code-block:: bash |
183 | | - |
184 | | - $ (your_venv) python venvipy/venvi.py |
185 | | - |
186 | | -- or run the wizard standalone to quickly create and set up an environment: |
187 | | - |
188 | | - - .. code-block:: bash |
| 216 | +.. code-block:: bash |
189 | 217 |
|
190 | | - $ (your_venv) python venvipy/wizard.py |
| 218 | + python venvipy/venvi.py |
191 | 219 |
|
192 | 220 | | |
193 | 221 |
|
194 | 222 | Contributing |
195 | 223 | ------------ |
196 | 224 |
|
197 | | -Contributions are welcomed, as well as `Pull |
198 | | -requests <https://github.com/sinusphi/venvipy/pulls>`__, `bug |
199 | | -reports <https://github.com/sinusphi/venvipy/issues>`__, and `feature |
200 | | -requests <https://github.com/sinusphi/venvipy/issues>`__. |
| 225 | +Contributions are welcome: |
201 | 226 |
|
| 227 | +* `Pull requests <https://github.com/sinusphi/venvipy/pulls>`__ |
| 228 | +* `Bug reports <https://github.com/sinusphi/venvipy/issues>`__ |
| 229 | +* `Feature requests <https://github.com/sinusphi/venvipy/issues>`__ |
0 commit comments