openlibhums / janeway

A web-based platform for publishing journals, preprints, conference proceedings, and books
https://janeway.systems/
GNU Affero General Public License v3.0
172 stars 65 forks source link

setup problem during install janeway for macos #863

Closed schlattk closed 5 years ago

schlattk commented 5 years ago

trying to run manage.py install janeway and I get this error; any chance you can help?

(venv) konrads-MacBook-Air:src konradschlatte$ python3 manage.py install_janeway Traceback (most recent call last): File "manage.py", line 16, in execute_from_command_line(sys.argv) File "/Users/konradschlatte/journal/venv/lib/python3.6/site-packages/django/core/management/init.py", line 364, in execute_from_command_line utility.execute() File "/Users/konradschlatte/journal/venv/lib/python3.6/site-packages/django/core/management/init.py", line 338, in execute django.setup() File "/Users/konradschlatte/journal/venv/lib/python3.6/site-packages/django/init.py", line 27, in setup apps.populate(settings.INSTALLED_APPS) File "/Users/konradschlatte/journal/venv/lib/python3.6/site-packages/django/apps/registry.py", line 85, in populate app_config = AppConfig.create(entry) File "/Users/konradschlatte/journal/venv/lib/python3.6/site-packages/django/apps/config.py", line 120, in create mod = import_module(mod_path) File "/Users/konradschlatte/journal/venv/lib/python3.6/importlib/init.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 994, in _gcd_import File "", line 971, in _find_and_load File "", line 941, in _find_and_load_unlocked File "", line 219, in _call_with_frames_removed File "", line 994, in _gcd_import File "", line 971, in _find_and_load File "", line 941, in _find_and_load_unlocked File "", line 219, in _call_with_frames_removed File "", line 994, in _gcd_import File "", line 971, in _find_and_load File "", line 953, in _find_and_load_unlocked ModuleNotFoundError: No module named 'raven'

ajrbyers commented 5 years ago

In your virtualenv can you run ‘pip3 install raven’ and see if that helps?

schlattk commented 5 years ago

ok that worked but then I get ModuleNotFoundError: No module named 'materialize' after pip3 install materialize I get this error (only the last few lines of the stack):

register_loader_type(importlib_bootstrap.SourceFileLoader, DefaultProvider) AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'

----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/tt/y4sdjllj4194vy82jpkp8w9h0000gn/T/pip-install-gjqg_28v/distribute/

ajrbyers commented 5 years ago

Ok it sounds like you haven’t installed any of the requirements. Are you using a virtualenvironment? For dev setups now we recommend using Docker as it avoids all these issues.

mauromsl commented 5 years ago

Hi @schlattk,

As per our MacOS installation guide, the first step is to install all the project dependencies (we recommend doing so in a virtual environment):

https://github.com/BirkbeckCTP/janeway/wiki/Installation---Mac

Can you confirm you followed the steps described above?

You can confirm if this has been done by running pip3 freeze whilst your virtual environment is activated. This command will print a list of all the python packages installed in your path, which should match the contents of the requirerements.txt file (https://github.com/BirkbeckCTP/janeway/blob/master/requirements.txt)

schlattk commented 5 years ago

yes I did, I ran it again but the requirements script gives me the following error: I guess that's why not everything is installed as it should be:

2 errors generated. error: command 'gcc' failed with exit status 1

----------------------------------------

Command "/Users/konradschlatte/journal/venv/bin/python3 -u -c "import setuptools, tokenize;file='/private/var/folders/tt/y4sdjllj4194vy82jpkp8w9h0000gn/T/pip-install-syj0rlhr/mysqlclient/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /private/var/folders/tt/y4sdjllj4194vy82jpkp8w9h0000gn/T/pip-record-4pw2eeaf/install-record.txt --single-version-externally-managed --compile --install-headers /Users/konradschlatte/journal/venv/bin/../include/site/python3.6/mysqlclient" failed with error code 1 in /private/var/folders/tt/y4sdjllj4194vy82jpkp8w9h0000gn/T/pip-install-syj0rlhr/mysqlclient/

schlattk commented 5 years ago

I have followed your instructions but it doesn't seem to work for me but I don't want to bother you with what may be issues related to my setup so if you tell me that based on your instructions the setup for mac is currently working for others we can close this issue and I try to sort this out on my side.

mauromsl commented 5 years ago

We are aware of other developers running Janeway on MacOS, but no one else has reported this issue.

Unfortunately no one in the core development team has a Mac, otherwise we would be happy to help debugging this further.

From your error traceback, I can see there is a problem installing mysqlclient on your Mac (It is failing to install python's mysqlclient version 1.3.12). Hope this can help you solve the problem.

Alternatively, you could try running Janeway within a linux VM or running Janeway in docker, for which we have instructions in the README.md.

I'll leave this open for now, let us know if you manage to work out what went wrong, as it might be helpful for other Mac users.

schlattk commented 5 years ago

ok got round this problem with installing https://pypi.org/project/mysqlclient/ and with fixing the bug in mysql_config as suggested - however stuck now with an authentication issue:

django.db.utils.OperationalError: (2059, "Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/Cellar/mysql-connector-c/6.1.11/lib/plugin/caching_sha2_password.so, 2): image not found")

schlattk commented 5 years ago

ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password'; solves this issue

schlattk commented 5 years ago

ok so finally it worked but how do I get to the next stage i.e. Open your browser to your new journal domain test.press.com/tstj/install/ to continue this setup process. I mean do I need to run the server?

mauromsl commented 5 years ago

Yes, you need to run the server. You can run Janeway's development server with python manage.py runserver from the janeway/src directory or setup your own server (we provide a guide on how to setup janeway with apache) Bear in mind that you've chosen a "fake" press domain so you will need to route outgoing traffic from your browser under that domain to your server.

schlattk commented 5 years ago

yes that's what I did but the domain routes me to example.org

mauromsl commented 5 years ago

Can you let us know:

schlattk commented 5 years ago

Starting development server at http://127.0.0.1:8000/ test.press.com/tstj/install/ DEFAULT_HOST = 'https://www.example.org' URL_CONFIG = 'path' "GET /test.press.com HTTP/1.1" 302 0

mauromsl commented 5 years ago

How are you redirecting your traffic to http://127.0.0.1:8000/? the server is indicating that the path in your request is /test.press.com and doesn't recognize the host(hence the redirect to http://www.example.org)

schlattk commented 5 years ago

not sure to be honest I think I did everything according to the instructions so how do I point the server to run at test.press.com/tstj/install/ as indicated in the terminal?

mauromsl commented 5 years ago

The message on the terminal indicated that you should point your browser to the mentioned URL, not the server. If you can't reroute the traffic from your browser pointing at that domain to your server, I suggest you set the press domain to localhost instead. Afterwards you should be able to point your browser to localhost:8000/tstj/install and complete the installation

mauromsl commented 5 years ago

Closing this as the problem seems to have been resolved and discussion has moved into #885