How to attach graph-tool to Django using Docker
I need to use some graph-tool calculations in my Django project. So I started with docker pull tiagopeixoto/graph-tool
and then added it to my Docker-compose file:
version: '3'
services:
db:
image: postgres
graph-tool:
image: dcagatay/graph-tool
web:
build: .
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
- graph-tool
When I up
my docker-compose I got a line:
project_graph-tool_1_87e2d144b651 exited with code 0
And finally when my Django projects starts I can not import modules from graph-tool, like:
from graph_tool.all import *
If I try work directly in this docker image using:
docker run -it -u user -w /home/user tiagopeixoto/graph-tool ipython
everything goes fine.
What am I doing wrong and how can I fix it and finally attach graph-tool to Django? Thanks!
django docker docker-compose graph-tool
add a comment |
I need to use some graph-tool calculations in my Django project. So I started with docker pull tiagopeixoto/graph-tool
and then added it to my Docker-compose file:
version: '3'
services:
db:
image: postgres
graph-tool:
image: dcagatay/graph-tool
web:
build: .
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
- graph-tool
When I up
my docker-compose I got a line:
project_graph-tool_1_87e2d144b651 exited with code 0
And finally when my Django projects starts I can not import modules from graph-tool, like:
from graph_tool.all import *
If I try work directly in this docker image using:
docker run -it -u user -w /home/user tiagopeixoto/graph-tool ipython
everything goes fine.
What am I doing wrong and how can I fix it and finally attach graph-tool to Django? Thanks!
django docker docker-compose graph-tool
I see both build and image under graphtool. If you are using just the image, remove the build property.
– Andrei Dumitrescu-Tudor
Nov 21 at 7:12
@AndreiDumitrescu-Tudor removed, still exited with code 0, and ModuleNotFoundError: No module named 'graph_tool'
– D. Make
Nov 21 at 8:27
add a comment |
I need to use some graph-tool calculations in my Django project. So I started with docker pull tiagopeixoto/graph-tool
and then added it to my Docker-compose file:
version: '3'
services:
db:
image: postgres
graph-tool:
image: dcagatay/graph-tool
web:
build: .
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
- graph-tool
When I up
my docker-compose I got a line:
project_graph-tool_1_87e2d144b651 exited with code 0
And finally when my Django projects starts I can not import modules from graph-tool, like:
from graph_tool.all import *
If I try work directly in this docker image using:
docker run -it -u user -w /home/user tiagopeixoto/graph-tool ipython
everything goes fine.
What am I doing wrong and how can I fix it and finally attach graph-tool to Django? Thanks!
django docker docker-compose graph-tool
I need to use some graph-tool calculations in my Django project. So I started with docker pull tiagopeixoto/graph-tool
and then added it to my Docker-compose file:
version: '3'
services:
db:
image: postgres
graph-tool:
image: dcagatay/graph-tool
web:
build: .
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
- graph-tool
When I up
my docker-compose I got a line:
project_graph-tool_1_87e2d144b651 exited with code 0
And finally when my Django projects starts I can not import modules from graph-tool, like:
from graph_tool.all import *
If I try work directly in this docker image using:
docker run -it -u user -w /home/user tiagopeixoto/graph-tool ipython
everything goes fine.
What am I doing wrong and how can I fix it and finally attach graph-tool to Django? Thanks!
django docker docker-compose graph-tool
django docker docker-compose graph-tool
edited Nov 21 at 8:27
asked Nov 21 at 5:05
D. Make
9811
9811
I see both build and image under graphtool. If you are using just the image, remove the build property.
– Andrei Dumitrescu-Tudor
Nov 21 at 7:12
@AndreiDumitrescu-Tudor removed, still exited with code 0, and ModuleNotFoundError: No module named 'graph_tool'
– D. Make
Nov 21 at 8:27
add a comment |
I see both build and image under graphtool. If you are using just the image, remove the build property.
– Andrei Dumitrescu-Tudor
Nov 21 at 7:12
@AndreiDumitrescu-Tudor removed, still exited with code 0, and ModuleNotFoundError: No module named 'graph_tool'
– D. Make
Nov 21 at 8:27
I see both build and image under graphtool. If you are using just the image, remove the build property.
– Andrei Dumitrescu-Tudor
Nov 21 at 7:12
I see both build and image under graphtool. If you are using just the image, remove the build property.
– Andrei Dumitrescu-Tudor
Nov 21 at 7:12
@AndreiDumitrescu-Tudor removed, still exited with code 0, and ModuleNotFoundError: No module named 'graph_tool'
– D. Make
Nov 21 at 8:27
@AndreiDumitrescu-Tudor removed, still exited with code 0, and ModuleNotFoundError: No module named 'graph_tool'
– D. Make
Nov 21 at 8:27
add a comment |
1 Answer
1
active
oldest
votes
Rather than using a seperate docker image for graphtool, i think its better to use it within the same Dockerfile
which you are using for Django. For example, update your current Dockerfile
:
FROM ubuntu:16.04 # using ubuntu image
ENV PYTHONUNBUFFERED 1
ENV C_FORCE_ROOT true
# python3-graph-tool specific requirements for installation in Ubuntu from documentation
RUN echo "deb http://downloads.skewed.de/apt/xenial xenial universe" >> /etc/apt/sources.list &&
echo "deb-src http://downloads.skewed.de/apt/xenial xenial universe" >> /etc/apt/sources.list
RUN apt-key adv --keyserver pgp.skewed.de --recv-key 612DEFB798507F25
# Install dependencies
RUN apt-get update
&& apt-get install -y python3-pip python3-dev
&& apt-get install --yes --no-install-recommends --allow-unauthenticated python3-graph-tool
&& cd /usr/local/bin
&& ln -s /usr/bin/python3 python
&& pip3 install --upgrade pip
# Project specific setups
# These steps might be different in your project
RUN mkdir /code
WORKDIR /code
ADD . /code
RUN pip3 install -r requirements.pip
Now update your docker-compose file as well:
version: '3'
services:
db:
image: postgres
web:
build: .
container_name: djcon # <-- preferred over generated name
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
Thats it. Now if you go to your web
service's shell by docker exec -ti djcon bash
(or any generated name instead of djcon), and access the django shell like this python manage.py shell
. Then type from graph_tool.all import *
and it will not throw any import error.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53405558%2fhow-to-attach-graph-tool-to-django-using-docker%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Rather than using a seperate docker image for graphtool, i think its better to use it within the same Dockerfile
which you are using for Django. For example, update your current Dockerfile
:
FROM ubuntu:16.04 # using ubuntu image
ENV PYTHONUNBUFFERED 1
ENV C_FORCE_ROOT true
# python3-graph-tool specific requirements for installation in Ubuntu from documentation
RUN echo "deb http://downloads.skewed.de/apt/xenial xenial universe" >> /etc/apt/sources.list &&
echo "deb-src http://downloads.skewed.de/apt/xenial xenial universe" >> /etc/apt/sources.list
RUN apt-key adv --keyserver pgp.skewed.de --recv-key 612DEFB798507F25
# Install dependencies
RUN apt-get update
&& apt-get install -y python3-pip python3-dev
&& apt-get install --yes --no-install-recommends --allow-unauthenticated python3-graph-tool
&& cd /usr/local/bin
&& ln -s /usr/bin/python3 python
&& pip3 install --upgrade pip
# Project specific setups
# These steps might be different in your project
RUN mkdir /code
WORKDIR /code
ADD . /code
RUN pip3 install -r requirements.pip
Now update your docker-compose file as well:
version: '3'
services:
db:
image: postgres
web:
build: .
container_name: djcon # <-- preferred over generated name
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
Thats it. Now if you go to your web
service's shell by docker exec -ti djcon bash
(or any generated name instead of djcon), and access the django shell like this python manage.py shell
. Then type from graph_tool.all import *
and it will not throw any import error.
add a comment |
Rather than using a seperate docker image for graphtool, i think its better to use it within the same Dockerfile
which you are using for Django. For example, update your current Dockerfile
:
FROM ubuntu:16.04 # using ubuntu image
ENV PYTHONUNBUFFERED 1
ENV C_FORCE_ROOT true
# python3-graph-tool specific requirements for installation in Ubuntu from documentation
RUN echo "deb http://downloads.skewed.de/apt/xenial xenial universe" >> /etc/apt/sources.list &&
echo "deb-src http://downloads.skewed.de/apt/xenial xenial universe" >> /etc/apt/sources.list
RUN apt-key adv --keyserver pgp.skewed.de --recv-key 612DEFB798507F25
# Install dependencies
RUN apt-get update
&& apt-get install -y python3-pip python3-dev
&& apt-get install --yes --no-install-recommends --allow-unauthenticated python3-graph-tool
&& cd /usr/local/bin
&& ln -s /usr/bin/python3 python
&& pip3 install --upgrade pip
# Project specific setups
# These steps might be different in your project
RUN mkdir /code
WORKDIR /code
ADD . /code
RUN pip3 install -r requirements.pip
Now update your docker-compose file as well:
version: '3'
services:
db:
image: postgres
web:
build: .
container_name: djcon # <-- preferred over generated name
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
Thats it. Now if you go to your web
service's shell by docker exec -ti djcon bash
(or any generated name instead of djcon), and access the django shell like this python manage.py shell
. Then type from graph_tool.all import *
and it will not throw any import error.
add a comment |
Rather than using a seperate docker image for graphtool, i think its better to use it within the same Dockerfile
which you are using for Django. For example, update your current Dockerfile
:
FROM ubuntu:16.04 # using ubuntu image
ENV PYTHONUNBUFFERED 1
ENV C_FORCE_ROOT true
# python3-graph-tool specific requirements for installation in Ubuntu from documentation
RUN echo "deb http://downloads.skewed.de/apt/xenial xenial universe" >> /etc/apt/sources.list &&
echo "deb-src http://downloads.skewed.de/apt/xenial xenial universe" >> /etc/apt/sources.list
RUN apt-key adv --keyserver pgp.skewed.de --recv-key 612DEFB798507F25
# Install dependencies
RUN apt-get update
&& apt-get install -y python3-pip python3-dev
&& apt-get install --yes --no-install-recommends --allow-unauthenticated python3-graph-tool
&& cd /usr/local/bin
&& ln -s /usr/bin/python3 python
&& pip3 install --upgrade pip
# Project specific setups
# These steps might be different in your project
RUN mkdir /code
WORKDIR /code
ADD . /code
RUN pip3 install -r requirements.pip
Now update your docker-compose file as well:
version: '3'
services:
db:
image: postgres
web:
build: .
container_name: djcon # <-- preferred over generated name
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
Thats it. Now if you go to your web
service's shell by docker exec -ti djcon bash
(or any generated name instead of djcon), and access the django shell like this python manage.py shell
. Then type from graph_tool.all import *
and it will not throw any import error.
Rather than using a seperate docker image for graphtool, i think its better to use it within the same Dockerfile
which you are using for Django. For example, update your current Dockerfile
:
FROM ubuntu:16.04 # using ubuntu image
ENV PYTHONUNBUFFERED 1
ENV C_FORCE_ROOT true
# python3-graph-tool specific requirements for installation in Ubuntu from documentation
RUN echo "deb http://downloads.skewed.de/apt/xenial xenial universe" >> /etc/apt/sources.list &&
echo "deb-src http://downloads.skewed.de/apt/xenial xenial universe" >> /etc/apt/sources.list
RUN apt-key adv --keyserver pgp.skewed.de --recv-key 612DEFB798507F25
# Install dependencies
RUN apt-get update
&& apt-get install -y python3-pip python3-dev
&& apt-get install --yes --no-install-recommends --allow-unauthenticated python3-graph-tool
&& cd /usr/local/bin
&& ln -s /usr/bin/python3 python
&& pip3 install --upgrade pip
# Project specific setups
# These steps might be different in your project
RUN mkdir /code
WORKDIR /code
ADD . /code
RUN pip3 install -r requirements.pip
Now update your docker-compose file as well:
version: '3'
services:
db:
image: postgres
web:
build: .
container_name: djcon # <-- preferred over generated name
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
Thats it. Now if you go to your web
service's shell by docker exec -ti djcon bash
(or any generated name instead of djcon), and access the django shell like this python manage.py shell
. Then type from graph_tool.all import *
and it will not throw any import error.
answered Nov 23 at 23:19
ruddra
11.4k32648
11.4k32648
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53405558%2fhow-to-attach-graph-tool-to-django-using-docker%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
I see both build and image under graphtool. If you are using just the image, remove the build property.
– Andrei Dumitrescu-Tudor
Nov 21 at 7:12
@AndreiDumitrescu-Tudor removed, still exited with code 0, and ModuleNotFoundError: No module named 'graph_tool'
– D. Make
Nov 21 at 8:27