Put setup & run steps into <details> spoilers. Improve clarity.
This commit is contained in:
		
							parent
							
								
									0ea9f19592
								
							
						
					
					
						commit
						99dcd1f800
					
				
					 1 changed files with 37 additions and 15 deletions
				
			
		
							
								
								
									
										50
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										50
									
								
								README.md
									
									
									
									
									
								
							|  | @ -7,19 +7,15 @@ I am currently running a demonstration copy of Etiquette at http://etiquette.vou | ||||||
| 
 | 
 | ||||||
| Etiquette is a tag-based file organization system with a web front-end. | Etiquette is a tag-based file organization system with a web front-end. | ||||||
| 
 | 
 | ||||||
| #### Setting up | ### Setting up | ||||||
| 
 | 
 | ||||||
| I have not made a setup.py yet. So you must make the `etiquette` package importable in one of two ways: | I have not made a setup.py yet. So I use a filesystem junction / symlink to make etiquette appear in my python lib folder. | ||||||
| 
 | 
 | ||||||
| - By editing your `PYTHONPATH` environment variable. Note that the path refers to the Etiquette repository location and not the `etiquette` package folder: | <details><summary><strong>Setting up via symlink</strong></summary> | ||||||
| 
 | 
 | ||||||
|     Windows: `set "PYTHONPATH=%PYTHONPATH%;D:\Git\Etiquette"` Note the semicolon to delimit paths. To make permanent, use the Environment Variable editor or the `setx` command. The editor is better.   | - The repository you're looking at right now is `D:\Git\Etiquette`. The toplevel `etiquette` folder is the main package. We want this package to be a child of our existing lib directory. | ||||||
| 
 | - The easiest way to find your lib path is `python -c "import os; print(os)"`. | ||||||
|     Linux: `PYTHONPATH="$PYTHONPATH:/home/Owner/Git/Etiquette"` Note the colon to delimit paths. To make permanent, add the export to your bashrc. | - Make the symlink: | ||||||
| 
 |  | ||||||
| - By placing it in one of your lib paths, or using filesystem junctions to make it appear in a lib path. Note that this time, the path does refer to the package itself. |  | ||||||
| 
 |  | ||||||
|     The easiest way to find your lib path is `python -c "import os; print(os)"`. |  | ||||||
| 
 | 
 | ||||||
|     Windows: `mklink /J fakepath realpath`   |     Windows: `mklink /J fakepath realpath`   | ||||||
|     for example `mklink /J "C:\Python36\Lib\etiquette" "D:\Git\Etiquette\etiquette"` |     for example `mklink /J "C:\Python36\Lib\etiquette" "D:\Git\Etiquette\etiquette"` | ||||||
|  | @ -27,18 +23,42 @@ I have not made a setup.py yet. So you must make the `etiquette` package importa | ||||||
|     Linux: `ln --symbolic realpath fakepath`   |     Linux: `ln --symbolic realpath fakepath`   | ||||||
|     for example `ln --symbolic "/home/Owner/Git/Etiquette/etiquette" "/usr/local/lib/python3.6/etiquette"` |     for example `ln --symbolic "/home/Owner/Git/Etiquette/etiquette" "/usr/local/lib/python3.6/etiquette"` | ||||||
| 
 | 
 | ||||||
| I'm sure you'll figure it out. | </details> | ||||||
| 
 | 
 | ||||||
| #### Running locally | --- | ||||||
|  | 
 | ||||||
|  | <details><summary><strong>Setting up via pythonpath</strong></summary> | ||||||
|  | 
 | ||||||
|  | - The repository you're looking at right now is `D:\Git\Etiquette`. The toplevel `etiquette` folder is the main package. We want the repository to be treated as an alternative lib directory, because the package is a child of it. | ||||||
|  | 
 | ||||||
|  |     Windows: `set "PYTHONPATH=%PYTHONPATH%;D:\Git\Etiquette"`   | ||||||
|  |     Note the semicolon to delimit paths.   | ||||||
|  |     This only applies to the current cmd session. To make it permanent, use Windows's Environment Variable editor or the `setx` command. The editor is easier to use. | ||||||
|  | 
 | ||||||
|  |     Linux: `PYTHONPATH="$PYTHONPATH:/home/Owner/Git/Etiquette"`   | ||||||
|  |     Note the colon to delimit paths.   | ||||||
|  |     To make it permanent, add the export to your bashrc. | ||||||
|  | 
 | ||||||
|  | </details> | ||||||
|  | 
 | ||||||
|  | --- | ||||||
|  | 
 | ||||||
|  | <details><summary><strong>Running locally</strong></summary> | ||||||
| 
 | 
 | ||||||
| - Run `python etiquette_flask_launch.py [port]` to launch the flask server. Port defaults to 5000 if not provided. | - Run `python etiquette_flask_launch.py [port]` to launch the flask server. Port defaults to 5000 if not provided. | ||||||
| - Run `python -i etiquette_repl_launch.py` to launch the Python interpreter with the PhotoDB pre-loaded into a variable called `P`. Try things like `P.new_photo` or `P.digest_directory`. | - Run `python -i etiquette_repl_launch.py` to launch the Python interpreter with the PhotoDB pre-loaded into a variable called `P`. Try things like `P.new_photo` or `P.digest_directory`. | ||||||
| - Note: Do not `cd` into the frontends folder. Stay wherever you want the photodb to be created, and start the frontend by specifying full file path of the launch file. | - Note: Do not `cd` into the frontends folder. Stay wherever you want the photodb to be created, and start the frontend by specifying full file path of the launch file. | ||||||
| 
 | 
 | ||||||
|  |         Windows: | ||||||
|         D:\somewhere> python D:\Git\Etiquette\frontends\etiquette_flask\etiquette_flask_launch.py 5001 |         D:\somewhere> python D:\Git\Etiquette\frontends\etiquette_flask\etiquette_flask_launch.py 5001 | ||||||
|         /home/Owner>python /home/Owner/Git/Etiquette/frontends/etiquette_flask/etiquette_flask_launch.py 5001 |  | ||||||
| 
 | 
 | ||||||
| #### Running with Gunicorn |         Linux: | ||||||
|  |         /somewhere $ python /home/Owner/Git/Etiquette/frontends/etiquette_flask/etiquette_flask_launch.py 5001 | ||||||
|  | </details> | ||||||
|  | 
 | ||||||
|  | --- | ||||||
|  | 
 | ||||||
|  | <details><summary><strong>Running with Gunicorn</strong></summary> | ||||||
| 
 | 
 | ||||||
| 1. Use the PYTHONPATH technique to make `etiquette` and `etiquette_flask` both importable. Symlinking into the lib is not as convenient here because the server relies on the static files and jinja templates relative to the code's location. | 1. Use the PYTHONPATH technique to make `etiquette` and `etiquette_flask` both importable. Symlinking into the lib is not as convenient here because the server relies on the static files and jinja templates relative to the code's location. | ||||||
| 
 | 
 | ||||||
|  | @ -48,6 +68,8 @@ I'm sure you'll figure it out. | ||||||
| 
 | 
 | ||||||
|         gunicorn etiquette_flask_entrypoint:site --bind "0.0.0.0:PORT" --access-logfile "-" |         gunicorn etiquette_flask_entrypoint:site --bind "0.0.0.0:PORT" --access-logfile "-" | ||||||
| 
 | 
 | ||||||
|  | </details> | ||||||
|  | 
 | ||||||
| ### Project stability | ### Project stability | ||||||
| 
 | 
 | ||||||
| You may notice that Etiquette doesn't have a version number anywhere. That's because I don't think it's ready for one. I am using this project to learn and practice, and breaking changes are very common. | You may notice that Etiquette doesn't have a version number anywhere. That's because I don't think it's ready for one. I am using this project to learn and practice, and breaking changes are very common. | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue