Giter Site home page Giter Site logo

adorablepotato / emsm Goto Github PK

View Code? Open in Web Editor NEW
74.0 13.0 26.0 1.15 MB

A lightweight, easy to extend minecraft server manager.

Home Page: http://emsm.readthedocs.io

License: Other

Python 99.74% Shell 0.26%
python minecraft cron backup cli-app

emsm's Introduction

image

EMSM

The Extendable Minecraft Server Manager (EMSM) handles multiple minecraft worlds and server versions. It is completly written in Python and can be easily modified by the user.

The EMSM provides a simple, but powerful and extensive command line interface, which allows to manage your minecraft server easily and automize tasks.

The separation of minecraft worlds and server executables allows to manage several different versions of server (e.g. Vanilla and Bukkit in multiple versions) for different worlds. The EMSM comes with a backup mechanism as one of the core plugins, which can be automated to create periodical backups. It also provides a plugin to check the availability of the server and restart them, if its configured to do so. Another plugin aims at integrating EMSM with init.d to start/stop the server on (re-)boot/shutdown processes.

Get started

Please read the online documentation for a full introduction. I tried to keep it simple and short. The EMSM will be installed in less than 10 minutes.

When you need help, don't hesitate to create an issue.

Contribution and New Plugins

If you have a good idea for a new plugin, let us know :).

When you found a bug, please report it.

Versioning

The EMSM uses semantic version numbers. Take a look at http://semver.org/ for further information.

License

emsm's People

Contributors

bryceharrington avatar drakes00 avatar haffmans avatar kayila avatar lukesneeringer avatar rhysmdnz avatar richardhowes avatar silkandslug avatar smgoller avatar ulrichthomasgabor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

emsm's Issues

Use dpkg and rpm (or pip)

In the long term, the EMSM should be installed and updated using the debian package manager and the red hat package manager. A lot of things would become simpler.

plugin --long-help

At the moment, you can display the docstring of a plugin using the plugin plugins. E.g.: minecraft plugins --doc worlds. It would be better, to extend the BasePlugin class, so that you can display the docstring for each plugin this way: minecraft worlds --long-help.

Typo in emsm.py

Line 243 of the below file should read "Your version is outdated." (not "it outdated").

/usr/local/lib/python3.4/dist-packages/emsm/plugins/emsm.py

How to update?

How do I update vanilla minecraft (latest one is 1.8.1 i could be wrong though)?
And how do I update emsm?

Vanilla Version 1.11

I am currently trying to install EMSM on my new server. What I have done so far is that I have finished the installation tutorial. The next step would be to setup a world, but I have some problems doing so.

Following the tutorial I tried to add Vanilla 1.11 to the server.conf in order to get Vanilla 1.11 running (Vanilla 1.11 wasn't there ...). The settings are:

[vanilla 1.11]
url = https://s3.amazonaws.com/Minecraft.Download/versions/1.11.2/minecraft_server.1.11.2.jar
start_command = java -Xmx6G -Xms6G -jar {server_exe} nogui

or only

[vanilla 1.11]

After running the command

minecraft -s "vanilla 1.11" server --update

a problem occurs:

minecraft: error: argument -s/--server: invalid choice: 'vanilla 1.11' (choose from 'minecraft forge 1.10', 'vanilla 1.2', 'minecraft forge 1.8', 'vanilla 1.9', 'minecraft forge 1.7', 'vanilla 1.6', 'vanilla 1.8', 'vanilla 1.4', 'vanilla 1.10', 'spigot latest', 'minecraft forge 1.6', 'vanilla 1.3', 'bungeecord', 'vanilla 1.5', 'vanilla 1.7')

And the big question is what I have done wrong. The version of EMSM is 5.0.0 beta so it should be the latest version.

Also I am wondering about your world.conf within the tutorial, because you already refer to Vanilla 1.11

[world]
...
server = vanilla 1.11

so it must be possible to run Vanilla 1.11...

Thank you very much for your efforts and I really would be happy if you can help me.

Best regards,
Dennis

PS: Running on Ubuntu 16.04.1 with Python 3.5

cannot find user minecraft

Actual Version with command "minecraft -W worlds --start" gives the info " The world is now online." for all worlds configured. But when i lookup with "ps" or "htop" there is no world running.

Command "python3 /home/minecraft/emsm/application.py" gives:

EMSM: Critical:
Exception: WrongUserError
Message: This script requires a user named 'minecraft'.
A full traceback can be found in the log file.
Uncaught exception:
Traceback (most recent call last):
File "application.py", line 222, in
app.setup()
File "application.py", line 156, in setup
self._check_user()
File "application.py", line 142, in _check_user
raise WrongUserError(required_user)
WrongUserError: This script requires a user named 'minecraft'.

User "minecraft" is all working in system. Tried older Version 2.0.1 Beta, with this works all fine, no changes on config files were made.

backup the server executables

It would be a nice to have, if the server executables and the configuration for a world could be included into the backups if wished.

/opt/minecraft/minecraft.py not being created.

I can't seem to create the minecraft.py file.

Whenever I run emsm.run(instance_dir="/opt/minecraft") in python, I get the following error:

Error in atexit._run_exitfuncs:
PermissionError: [Errno 13] Permission denied

All the other directories and files are created, but somehow minecraft.py isn't.

What am I doing wrong?

I'm running on CentOS 7

Problems in Debian 7

Firstly, I'm using the latest version of EMSM (from Git) and I've followed the instructions on the documentation page.

The first problem I encountered was with updating / reinstalling the server software. According to the docs I have to execute minecraft -s "vanilla 1.8" server --reinstall, but there is apparently no --reinstall flag (that's the error I got). This might be a problem with the docs.

I tried again using the update flag instead, but I received a "directory not found" error (Vanilla 1.8 to be precise). Creating the directory doesn't seem to resolve the problem as I am getting some other error related to copying the files. Sorry for the lack of specificity, I just did a clean boot and lost the logs.

Executing minecraft -W worlds --start doesn't seem to do anything as well, but I'm guessing it's related to the previous problems.

Can't connect to console

When trying to invoke the --console command I get this:

    NOTE: Press [ctrl + a + d] to detach from the console.
    WARNING: When you stop the server in the session, EMSM may behave not as expected.

Cannot open your terminal '/dev/pts/10' - please check.
EMSM: Critical:

Exception: TypeError
Message: expected string or buffer
A full traceback can be found in the log file.

API Documentation

Create a documentation for the API. This means to extend the documentation section How To Write A Plugin.

Allow dynamic server configurations

It would be great if the server configurations, like vanilla, forge, etc. would be in config files.
Then it is a lot easier to update and add new server configurations in the future. Also this means less maintance factor since the server would not be in a core file and can be added and removed by admins themselves.

Libjaml error on Debian Jessie

Installing as per ReadTheDocs. Step #3 is:

sudo pip3 install --pre emsm

Which produces this error:

Running setup.py install for pyyaml
checking if libyaml is compilable
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.4m -c build/temp.linux-x86_64-3.4/check_libyaml.c -o build/temp.linux-x86_64-3.4/check_libyaml.o
build/temp.linux-x86_64-3.4/check_libyaml.c:2:18: fatal error: yaml.h: No such file or directory
 #include <yaml.h>
                  ^
compilation terminated.

libyaml is not found or a compiler error: forcing --without-libyaml
(if libyaml is installed correctly, you may need to
 specify the option --include-dirs or uncomment and
 modify the parameter include_dirs in setup.cfg)

Successfully installed emsm blinker filelock termcolor pyyaml
Cleaning up...

No error message, but no user expects to see "compilation terminated". ;-)

guard - port check

Since the EMSM does no longer manage the address of the minecraft worlds, the port check included in the guard plugin must be adapted.

Can't check-update on EMSM

minecraft emsm --check-update fails with ValueError:

root@sas171:/opt/minecraft/conf# minecraft emsm --check-update
EMSM: Uncaught exception:
 > Exception: ValueError
 > Module     /usr/local/lib/python3.4/dist-packages/emsm/plugins/emsm.py
 > Message:   need more than 3 values to unpack
 > A full traceback can be found in the log file.

Log file ends:

[2017-02-01 21:54:23][ERROR   ][application              ] uncaught exception:
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/emsm/__init__.py", line 42, in run
    app.run()
  File "/usr/local/lib/python3.4/dist-packages/emsm/core/application.py", line 347, in run
    self._plugins.run()
  File "/usr/local/lib/python3.4/dist-packages/emsm/core/plugins.py", line 426, in run
    plugin.run(args)
  File "/usr/local/lib/python3.4/dist-packages/emsm/plugins/emsm.py", line 260, in run
    self._action_check_update()
  File "/usr/local/lib/python3.4/dist-packages/emsm/plugins/emsm.py", line 242, in _action_check_update
    if updater.version_is_outdated():
  File "/usr/local/lib/python3.4/dist-packages/emsm/plugins/emsm.py", line 150, in version_is_outdated
    latest_version = self.latest_version()
  File "/usr/local/lib/python3.4/dist-packages/emsm/plugins/emsm.py", line 139, in latest_version
    latest_version = self._split_version(latest_version)
  File "/usr/local/lib/python3.4/dist-packages/emsm/plugins/emsm.py", line 105, in _split_version
    [major, minor, patch, phase] = re.split("[.-]", version)
ValueError: need more than 3 values to unpack
[2017-02-01 21:54:23][INFO    ][application              ] EMSM finished.

This is in version 5.0.2-beta.

Windows port

Make the WorldWrapper class work under Windows.

Run script simutaneously from different consoles

Hello, excellent script for running a minecraft server. This is exactly what I'm looking for. I was wondering if it is possible to run two or more script commands from different consoles. I noticed that if, for example, I run the update command in one console that I can't run the help command from a different console. When I say console I'm not meaning the --console argument.

Just thought this would be a good enhancement.

Thanks for the work on this script.

Exception: PermissionError

Brand new CentOS 6.5 install

Followed the install instructions @ https://github.com/benediktschmitt/emsm#documentation

edited worlds.conf and server.conf

created world in /home/minecraft/worlds that matches entry in worlds.conf

Made sure everything was owned and accessible by the user Minecraft

When trying to start a world I get the following at the console and this shows in my logs: http://pastebin.com/Ja2UYrty

[root@marvin minecraft]# minecraft -w rac-season3 worlds --start
EMSM: Critical:

Exception: PermissionError
Message: [Errno 13] Permission denied
A full traceback can be found in the log file.

What exactly can't it access? I even threw the server jar into /var/home/minecraft/worlds/rac-season3 just to be safe (though I assume EMSM should copy over the correct jar based off of worlds.conf?)

Backup plugin exclude filter

It'd be useful if we could specify a filter to exclude from the backup plugin. For example I'd love to be able to exclude mods/* to reduce the size of my world backups on my forge server. Maybe this could/should be part of world configuration as well so it doesn't have to be passed on every call. (And maybe make a new backup flag --create-full which will backup everything ignoring the filter to backup the mods or whatever too.)

Version 3.0.0-beta

Version 2.0.0-beta is almost complete and works stable. For version 3.0 there will be some new features like support for multiple sever versions (commands, paths, ...) and a windows port.

Update docs with OpenRC Information

Although operating systems like Gentoo and Alpine Linux use a 'initd' they use a slight alternative known as OpenRC.

So this won't work:

$ sudo update-rc.d minecraft defaults
$ sudo update-rc.d minecraft enable

Instead, the following should be added to the docs for OpenRC:

$ rc-update add minecraft

pathsystem owner

When the EMSM runs the first time, the Pathsystem creates the EMSM folders before downgrading the privileges. The actual EMSM user has then later no right to write in those directories.

worlds --log-start 0

When calling

$ minecraft -W worlds --log-start 0

There is no output, even if log-limit > 0.

bin_script executable

The bin_script still hast 644 instead of 755. Seems my commit was lost. Maybe you can give it a chmod directly on your master branch?

Support for different server versions

The server versions (vanilla, bukkit, bungeecord, ...) does not only differ in the server commands (stop, end, ...), they also differ in the local paths that are important for the EMSM, like the log-file.

Can't update `spigot latest`

This may be related to #67 .

I want to install Spigot. I'm logged in as root (sudo -i), but I get the same error when logged in as silkandslug.

minecraft -s 'spigot latest' server --update fails with:

error: The installation of the server 'spigot latest' failed. Installer returned with '1'.

The installer seems to have created a new 'spigot latest' directory inside the previous; after trying several times, I now have /opt/minecraft/server/spigot latest/spigot latest/spigot latest/spigot latest, which is empty.

I believe that the relevant part of the log is this:

[2017-02-01 22:01:07][INFO    ][argparse_                ] adding emsm arguments ...
[2017-02-01 22:01:07][INFO    ][argparse_                ] parsing arguments ...
[2017-02-01 22:01:07][INFO    ][argparse_                ] parsed arguments: Namespace(all_server=False, all_worlds=False, plugin='server', server=['spigot latest'], server_list=None, serv$
[2017-02-01 22:01:07][INFO    ][plugins                  ] running plugin 'server' ...
[2017-02-01 22:01:07][INFO    ][server                   ] Installing spigot ...
[2017-02-01 22:01:07][INFO    ][server                   ] - Building in '/tmp/spigotmcl92b4e87' ...
[2017-02-01 22:01:16][INFO    ][server                   ] - BuildTools: '/tmp/spigotmcl92b4e87/BuildTools.jar' ...
[2017-02-01 22:01:16][INFO    ][server                   ] Loading BuildTools version: git-BuildTools-0d20f9d-57 (#57)
Git name not set, setting it to default value.

[2017-02-01 22:01:16][ERROR   ][server                   ] warning: unable to access '/root/.gitconfig': Permission denied
warning: unable to access '/root/.config/git/config': Permission denied
warning: unable to access '/root/.gitconfig': Permission denied
warning: unable to access '/root/.config/git/config': Permission denied
error: could not lock config file /root/.gitconfig: Permission denied
Exception in thread "main" java.lang.RuntimeException: Error running command, return status !=0: [git, config, --global, user.name, BuildTools]
    at org.spigotmc.builder.Builder.runProcess(Builder.java:547)
    at org.spigotmc.builder.Builder.main(Builder.java:161)

[2017-02-01 22:01:16][INFO    ][server                   ] - Removing build directory /tmp/spigotmcl92b4e87
[2017-02-01 22:01:16][ERROR   ][server                   ] The installation of the server 'spigot latest' failed. Installer returned with '1'.
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/emsm/plugins/server.py", line 251, in _update_server
    server.reinstall()
  File "/usr/local/lib/python3.4/dist-packages/emsm/core/server.py", line 299, in reinstall
    self.install()
  File "/usr/local/lib/python3.4/dist-packages/emsm/core/server.py", line 980, in install
    raise ServerInstallationFailure(self, msg)
emsm.core.server.ServerInstallationFailure: The installation of the server 'spigot latest' failed. Installer returned with '1'.
[2017-02-01 22:01:16][INFO    ][plugins                  ] finish plugins ...
[2017-02-01 22:01:16][INFO    ][conf                     ] writing configuration ...
[2017-02-01 22:01:16][INFO    ][application              ] EMSM finished.

Minecraft Forge and Sponge

Now when Bukkit is sort of dead and becaus of the legal issues with including minecraft code of any form, it looks like http://spongepowered.org/ is going to take Bukkits place. But the solution to the legal/license-problem is soft of a problem itself, it needs Minecraft Forge.

So, some soft of Minecraft Forge plugin and functions in emsm would be really great.

Custom java options per world

It would be really nice if we could pass custom java options on a per world basis. For example, i might want to run one world/server with 5GB of ram and another with 2GB. If my understanding is correct, those options can only be configured on a per-server basis.

Two ways I could think of doing this is either allow a world to override the start command or add a field that gets added into the start command (Maybe have like a {worldopts} field that gets filled in with whatever from the world config.

os.chdir(old_wd) fails when inaccessible

2014-02-06 23:34:24[CRITICAL][emsm        ] Uncaught exception:
Traceback (most recent call last):
  File "/home/minecraft/emsm/application.py", line 197, in <module>
    app.run()
  File "/home/minecraft/emsm/application.py", line 154, in run 
    self.plugins.run()
  File "/home/minecraft/emsm/plugin_manager.py", line 338, in run 
    plugin.run(args)
  File "/home/minecraft/plugins/worlds.py", line 505, in run 
    world.restart()
  File "/home/minecraft/plugins/worlds.py", line 273, in restart
    self.world.start()
  File "/home/minecraft/emsm/world_wrapper.py", line 616, in start
    self._perform_status_change(func, True)
  File "/home/minecraft/emsm/world_wrapper.py", line 597, in _perform_status_change
    func()
  File "/home/minecraft/emsm/world_wrapper.py", line 615, in <lambda>
    func = lambda: BaseWorldWrapper.start(self, start_cmd, init_properties)
  File "/home/minecraft/emsm/world_wrapper.py", line 476, in start
    os.chdir(old_wd)
OSError: [Errno 13] Permission denied: '/root'

This occurs if bin_script is executed from a folder which is unaccessible by the minecraft user.

EMSM plugin

Create a EMSM plugin which checks if the EMSM needs an update, shows the version number, last emsm log, exceptions ...

initd plugin not working on Ubuntu 14.04

initd script fails on boot with the error: Cannot make directory '/var/run/screen': Permission denied

The configuraiton for Ubuntu is a little different than in the plugin docs, the scripts were installed with:
sudo update-rc.d minecraft defaults sudo update-rc.d minecraft enable

FileLock not importing

FileLock is installed, and other python scripts can use it, but emsm won't import it properly.

jstew@haf ~ $ minecraft
Traceback (most recent call last):
  File "/usr/bin/minecraft", line 34, in <module>
    import emsm
  File "/opt/minecraft/emsm/__init__.py", line 35, in <module>
    from . import application
  File "/opt/minecraft/emsm/application.py", line 38, in <module>
    import filelock
ImportError: No module named 'filelock'

Cannot start a world

I cannot start a world based on server minecraft forge 1.8. I got this error "error: the world could not be started." and I didn't event see the execution of starting command.

I think maybe this is because the space in server name.

I suggest to use minecraft_forge_1.8 to replace "minecraft forge 1.8". The server can be installed in a fold er without the spaces in the name

Option to ignore server installation errors

Today i've tried to install forge version 12.18.2.2171 on my server. During the installation the library downloads were failed due to autorization error (403). (I think) this caused the process to return 1, thus emsm were deleted the server directory, despite the installation was usable.
My idea is to add the --ignore-installation-errors option. If you provide this one, the installation would not delete the server directory on failure, but would only show a warning about it.
If you update the server, and provide this argument, the script would print the path to the backup of the server directory.

I would made a PR, but python is like chinese for me. If someone would code this feature, or give me some directions, about using the arguments in python that would be great.

So here is my plan:
add --ignore-installation-errors arg to server plugin
print backup path in BaseServerWrapper.reinstall if --ignore-installation-errors arg is present
don't throw ServerInstallationFailure in Spigot.install and MinecraftForgeBase.install if process return code is not zero, and --ignore-installation-errors arg is present

{server_path} in start_command doesn't work for forge servers

adding a

start_command = java -jar {server_path} nogui.

to a forge section in server.conf breaks the --start command

I glanced at your source... it looks like the cause might be because self._server for forge subclasses isn't set properly.
https://github.com/benediktschmitt/emsm/blob/master/emsm/server.py#L194

It looks like forge subclasses do some magic in default_start_cmd to get the path to the forge jar file.
https://github.com/benediktschmitt/emsm/blob/master/emsm/server.py#L706
but the normal start_cmd doesn't get access to that info.

Additional Option java_path in server.conf

Hoi,

is it possible to get an additional option in the server.conf? I am using several minecraft modpack servers and have to use different java versions for them. I think about an 'java_path' option in the server.conf file. When empty or not set, than the system java path is used, else the set path is used. This would help me to get better control over the several servers cause one is running better with openjdk and others with the oracle java.

Thank you very much for this great project.

GNU Screen options

Hi, still lovin' EMSM. Would it be possible to add 'screen' options? For example, I want to increase the scrollback buffer from the default 100 lines to something larger, say 10,000 lines. I think that when the server starts it would be nice read a .screenrc to get override the defaults.
Thanks!

Use the plugin's module docstring for sphinx

At the moment, a plugin is documented in the plugin module (.py file) and it has an own reST file for sphinx in docs/source/....

It would be better to avoid duplicate documentation and use automodule to load the documentation in sphinx or to create a small script, that copies the docstring in the corresponding sphinx files.

Installation video

A video tutorial, that describes the installation and configuration would be nice.

wrong user

Hello,

I'm really sorry to be such a noob but i can't get it working 0:-)
I'm on a wheezy
I've done https://github.com/benediktschmitt/emsm/blob/master/docs/source/how_to/installation.rst through step 8 (with some difficulties with pip) and i got the "wrong user error"

i tried

malo@vpsx8xx59:/opt/minecraft$ sudo minecraft emsm --version
`4.0.12-beta`

malo@vpsx8xx59:/opt/minecraft$ ls -all
`total 36
drwxr-xr-x 8 minecraft minecraft 4096 Oct 31 11:40 .
drwxr-xr-x 3 root      root      4096 Oct 31 00:22 ..
drwxr-xr-x 2 minecraft minecraft 4096 Oct 31 11:40 conf
drwxr-xr-x 2 minecraft minecraft 4096 Oct 31 11:40 log
-rwxr-xr-x 1 minecraft minecraft  149 Oct 31 00:23 minecraft.py
drwxr-xr-x 2 minecraft minecraft 4096 Oct 31 10:40 plugins
drwxr-xr-x 3 minecraft minecraft 4096 Oct 31 10:40 plugins_data
drwxr-xr-x 2 minecraft minecraft 4096 Oct 31 10:40 server
drwxr-xr-x 2 minecraft minecraft 4096 Oct 31 10:40 worlds

malo@vpsx8xx59:/opt/minecraft$ cat conf/main.conf 
# This file contains the settings for the EMSM core application and
# the plugins.
# 
# The section of the EMSM looks like this per default:
# 
# [emsm]
# user = minecraft
# timeout = -1
# screenrc = 
# 
# The configuration section of each plugin is titled with the plugins
# name.

[emsm]
user = minecraft
timeout = -1
screenrc = 

so i retried without sudo malo@vpsx8xx59:/opt/minecraft$ minecraft emsm --version

EMSM: Uncaught exception:
 > Exception: WrongUserError
 > Module     /usr/local/lib/python3.2/dist-packages/emsm/core/application.py
 > Message:   This script requires a user named 'minecraft'.
 > A full traceback can be found in the log file.

what do i missed ?

--------encountered pip difficulties-------
step 3 : i tried _sudo pip3 install --pre emsm_ i get _pip3 : command not found_
after some digging _sudo easy_install3 pip_ , i tried with pip-3.2 : _sudo pip-3.2 install --pre emsm_ i get _/usr/local/bin/pip-3.2 install: error: no such option: --pre_ 
and finally _sudo pip-3.2 install --upgrade emsm_ which seems to works (i'm not sure))

'malo@vpsx8xx59:/usr/bin$ sudo pip-3.2 install --upgrade emsm
Downloading/unpacking emsm
  Downloading emsm-4.0.12-beta.tar.gz (53Kb): 53Kb downloaded
  Running setup.py egg_info for package emsm

Downloading/unpacking blinker (from emsm)
  Downloading blinker-1.4.tar.gz (111Kb): 111Kb downloaded
  Running setup.py egg_info for package blinker

Downloading/unpacking filelock (from emsm)
  Downloading filelock-2.0.4.tar.gz
  Running setup.py egg_info for package filelock

Downloading/unpacking colorama (from emsm)
  Downloading colorama-0.3.3.tar.gz
  Running setup.py egg_info for package colorama

Downloading/unpacking termcolor (from emsm)
  Downloading termcolor-1.1.0.tar.gz
  Running setup.py egg_info for package termcolor

Downloading/unpacking pyyaml (from emsm)
  Downloading PyYAML-3.11.tar.gz (248Kb): 248Kb downloaded
  Running setup.py egg_info for package pyyaml

Installing collected packages: emsm, blinker, filelock, colorama, termcolor, pyyaml
  Running setup.py install for emsm

  Running setup.py install for blinker

  Running setup.py install for filelock

  Running setup.py install for colorama

  Running setup.py install for termcolor

  Running setup.py install for pyyaml
    checking if libyaml is compilable
    gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIC -I/usr/include/python3.2mu -c build/temp.linux-x86_64-3.2/check_libyaml.c -o build/temp.linux-x86_64-3.2/check_libyaml.o
    build/temp.linux-x86_64-3.2/check_libyaml.c:2:18: fatal error: yaml.h: No such file or directory
    compilation terminated.

    libyaml is not found or a compiler error: forcing --without-libyaml
    (if libyaml is installed correctly, you may need to
     specify the option --include-dirs or uncomment and
     modify the parameter include_dirs in setup.cfg)'

Successfully installed emsm blinker filelock colorama termcolor pyyaml
Cleaning up...

i tried to reinstall

malo@vpsx8xx59:/opt/minecraft$ sudo pip-3.2 install --upgrade emsm
Downloading/unpacking emsm from https://pypi.python.org/packages/source/e/emsm/emsm-4.0.12-beta.tar.gz#md5=96c0519b622c02d94455faaddb4971e4
  Downloading emsm-4.0.12-beta.tar.gz (53Kb): 53Kb downloaded
  Running setup.py egg_info for package emsm

Requirement already up-to-date: blinker in /usr/local/lib/python3.2/dist-packages (from emsm)
Requirement already up-to-date: filelock in /usr/local/lib/python3.2/dist-packages (from emsm)
Requirement already up-to-date: colorama in /usr/local/lib/python3.2/dist-packages (from emsm)
Requirement already up-to-date: termcolor in /usr/local/lib/python3.2/dist-packages (from emsm)
Requirement already up-to-date: pyyaml in /usr/local/lib/python3.2/dist-packages (from emsm)
Installing collected packages: emsm
  Found existing installation: emsm -.n-a.-
    Uninstalling emsm:
      Successfully uninstalled emsm
  Running setup.py install for emsm

Successfully installed emsm
Cleaning up...'

Include pypi depencies in the EMSM folder

Create a library folder in the emsm directory which contains all external PyPi depencies like blinker or filelock. This will reduce other depencies like pip and simplify the installation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.