Skip to main content

Internal Server Error + uWsgi + Python (While Updating Ubuntu from 16.04 to 18.04)


When I tried to upgrade my APP server from Ubuntu 16.04 to 18.04 with Python Django application after upgrade Python virtual env is giving the below error for the ./manage.py runserver command.

"ImportError: cannot import name _remove_dead_weakref"

For solving this error I have done the below fix:

cd my-virtualenv-directory
virtualenv . --system-site-packages


The option --system-site-packages was needed because the application uses python-gtk from Ubuntu. I gues in most other cases it is not needed.


Now after that the first error had gone and the below came up:

ImportError: /environment-path/virt-env/local/lib/python2.7/site-packages/lxml/etree.so: undefined symbol: PyFPE_jbuf

For solving this error I have done the below fix:

sudo pip install --upgrade pyOpenSSL cryptography

sudo pip uninstall lxml (Optional if needed only lxml is installed)

sudo rm -rf /environment-path/virt-env//local/lib/python2.7/site-packages/lxml /environment-path/virt-env//local/lib/python2.7/site-packages/lxml-3.5.0.dist-info

sudo -H pip install lxml


To check if its good and fine
************************************
source /environment-path/virt-env/bin/activate


cd /Base folder in the uwsgi.ini file.


./manage.py runserver


If there is no error then it seems to be ok.

That is all,
Cheers.

Comments

Popular posts from this blog

Password reset too simplistic/systematic issue

Some time when we try to reset the password of our user in linux it will show as simple and systematic as below: BAD PASSWORD: it is too simplistic/systematic no matter how hard password you give it will show the same. Solution: ######### Check if your password is Ok with the below command, jino@ndz~$ echo 'D7y8HK#56r89lj&8*&^%&^%#56rlKJ!789l' | cracklib-check D7y8HK#56r89lj&8*&^%&^%#56rlKJ!789l: it is too simplistic/systematic Now Create a password with the below command : jino@ndz~$ echo $(tr -dc '[:graph:]' 7\xi%!W[y*S}g-H7W~gbEB4cv,9:E:K; You can see that this password will be ok with the cracklib-check. jino@ndz~$ echo '7\xi%!W[y*S}g-H7W~gbEB4cv,9:E:K;' | cracklib-check                 7\xi%!W[y*S}g-H7W~gbEB4cv,9:E:K;: OK Thats all, Thanks.

Nginx Ingress controller setup in K8S MultiNode Cluster with HA-Proxy as External LB

https://github.com/nginxinc/kubernetes-ingress/blob/master/docs/installation.md Pre-requisites: ############### >> K8s cluster setup with 1 Master and 2 Worker nodes. >> Deployed an application with Deployment name "client-sb" >> Also you need to create an HA-proxy server by spinning an Ec2 instance. After login the Ha-proxy server. # yum install haproxy # vi /etc/haproxy/haproxy.cfg delete everything after the global and defaults starting from "Main front-end which proxys to the backend" paste the below code in the end of the file: --------------------- frontend http_front   bind *:80   stats uri /haproxy?stats   default_backend http_back backend http_back   balance roundrobin   server kube 10.0.1.14:80   server kube 10.0.1.12:80 --------------------- # systemctl status haproxy # systemctl enable haproxy # systemctl start haproxy 1. Create a Namespace, a SA, the Default Secret, the Customization Confi...

Running K8s cluster service kubelet with Swap Memory Enabled

For enabling swap memory check the below link : https://jinojoseph.blogspot.com/2019/10/enable-swap-memory-using-swapfile-in.html # sudo vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf Add the KUBELET_EXTRA_ARGS line as below: ---------------------------------------- Environment="KUBELET_EXTRA_ARGS=--fail-swap-on=false" ExecStart= ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS Now kubelet.service changed on disk. Run 'systemctl daemon-reload' to reload units # sudo systemctl daemon-reload # sudo systemctl restart kubelet # sudo systemctl status kubelet That is all cheers :p