mirror of
https://github.com/evennia/evennia.git
synced 2026-03-16 21:06:30 +01:00
Merge branch 'feature/add-jupyter-notebook-support' of https://github.com/duysqubix/evennia into duysqubix-feature/add-jupyter-notebook-support
This commit is contained in:
commit
358fc8ff0e
5 changed files with 37 additions and 4 deletions
|
|
@ -38,10 +38,38 @@ That is, enter `evennia.` and press the `<TAB>` key. This will show you all the
|
|||
available at the top level of Evennia's "flat API". See the [flat API](../Evennia-API) page for more
|
||||
info on how to explore it efficiently.
|
||||
|
||||
#### Jupyter Notebook Support
|
||||
|
||||
You can now explore evennia interactively with jupyter notebooks. There are a few extra steps that must be taken in order for this to work:
|
||||
|
||||
# [open a new console/terminal]
|
||||
# [activate your evennia virtualenv in this console/terminal]
|
||||
cd evennia
|
||||
pip install -r requirements_extra.txt # this installs optional, but necessary modules for this to work.
|
||||
cd mygame # make sure you are in root of your grame
|
||||
evennia shell_plus --notebook& # this will start the notebook in the background
|
||||
|
||||
Open an existing, or create, a notebook and in the first cell you must run:
|
||||
|
||||
```python
|
||||
import evennia
|
||||
evennia._init()
|
||||
```
|
||||
|
||||
This will initialize all module level variables located in `evennia.__init__`.
|
||||
Now you have the same support as `evennia shell`, but in a more visual and persistent form.
|
||||
|
||||
*It is important to remember, everytime the kernel restarts within a notebook you must first run
|
||||
`evennia._init()`*
|
||||
|
||||
|
||||
You can complement your exploration by peeking at the sections of the much more detailed
|
||||
[Evennia Component overview](../Components/Components-Overview). The [Tutorials](../Howto/Howto-Overview) section also contains a growing collection
|
||||
of system- or implementation-specific help.
|
||||
|
||||
|
||||
|
||||
|
||||
### Use a python syntax checker
|
||||
|
||||
Evennia works by importing your own modules and running them as part of the server. Whereas Evennia
|
||||
|
|
@ -103,4 +131,4 @@ chat](http://webchat.freenode.net/?channels=evennia) are also there for you.
|
|||
And finally, of course, have fun!
|
||||
|
||||
[feature-request]: (https://github.com/evennia/evennia/issues/new?title=Feature+Request%3a+%3Cdescriptive+title+here%3E&body=%23%23%23%23+Description+of+the+suggested+feature+and+how+it+is+supposed+to+work+for+the+admin%2fend+user%3a%0D%0A%0D%0A%0D%0A%23%23%23%23+A+list+of+arguments+for+why+you+think+this+new+feature+should+be+included+in+Evennia%3a%0D%0A%0D%0A1.%0D%0A2.%0D%0A%0D%0A%23%23%23%23+Extra+information%2c+such+as+requirements+or+ideas+on+implementation%3a%0D%0A%0D%0A
|
||||
[bug](https://github.com/evennia/evennia/issues/new?title=Bug%3a+%3Cdescriptive+title+here%3E&body=%23%23%23%23+Steps+to+reproduce+the+issue%3a%0D%0A%0D%0A1.+%0D%0A2.+%0D%0A3.+%0D%0A%0D%0A%23%23%23%23+What+I+expect+to+see+and+what+I+actually+see+%28tracebacks%2c+error+messages+etc%29%3a%0D%0A%0D%0A%0D%0A%0D%0A%23%23%23%23+Extra+information%2c+such+as+Evennia+revision%2frepo%2fbranch%2c+operating+system+and+ideas+for+how+to+solve%3a%0D%0A%0D%0A)
|
||||
[bug](https://github.com/evennia/evennia/issues/new?title=Bug%3a+%3Cdescriptive+title+here%3E&body=%23%23%23%23+Steps+to+reproduce+the+issue%3a%0D%0A%0D%0A1.+%0D%0A2.+%0D%0A3.+%0D%0A%0D%0A%23%23%23%23+What+I+expect+to+see+and+what+I+actually+see+%28tracebacks%2c+error+messages+etc%29%3a%0D%0A%0D%0A%0D%0A%0D%0A%23%23%23%23+Extra+information%2c+such+as+Evennia+revision%2frepo%2fbranch%2c+operating+system+and+ideas+for+how+to+solve%3a%0D%0A%0D%0A)
|
||||
|
|
|
|||
|
|
@ -373,7 +373,7 @@ class DefaultAccount(AccountDB, metaclass=TypeclassBase):
|
|||
puppet (Object): The matching puppeted object, if any.
|
||||
|
||||
"""
|
||||
return session.puppet
|
||||
return session.puppet if session else None
|
||||
|
||||
def get_all_puppets(self):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -999,7 +999,7 @@ class CmdQuell(COMMAND_DEFAULT_CLASS):
|
|||
self.msg("Already quelling Account %s permissions." % permstr)
|
||||
return
|
||||
account.attributes.add("_quell", True)
|
||||
puppet = self.session.puppet
|
||||
puppet = self.session.puppet if self.session else None
|
||||
if puppet:
|
||||
cpermstr = "(%s)" % ", ".join(puppet.permissions.all())
|
||||
cpermstr = "Quelling to current puppet's permissions %s." % cpermstr
|
||||
|
|
|
|||
|
|
@ -2259,7 +2259,7 @@ def main():
|
|||
if option in ("makemessages", "compilemessages"):
|
||||
# some commands don't require the presence of a game directory to work
|
||||
need_gamedir = False
|
||||
if option in ("shell", "check", "makemigrations", "createsuperuser"):
|
||||
if option in ("shell", "check", "makemigrations", "createsuperuser", "shell_plus"):
|
||||
# some django commands requires the database to exist,
|
||||
# or evennia._init to have run before they work right.
|
||||
check_db = True
|
||||
|
|
|
|||
|
|
@ -14,3 +14,8 @@ service_identity >= 18.1.0
|
|||
# AWS-storage contrib
|
||||
boto3 >= 1.4.4
|
||||
botocore >= 1.15
|
||||
|
||||
# Jupyter Notebook support
|
||||
jupyter >= 1.0.0
|
||||
ipython >= 7.19.0
|
||||
django-extensions >= 3.1.0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue