UPDATE 1: PIL and RDKIT produced import errors because the .dll files were not placed in /venv//Lib/site-packages
I removed both packages from environment and commented out their code from my project.
Next I updated the base base environment:
conda update conda #from base env
Then I upgraded pip and setuptools and reinstalled pillow:
python -m pip install pip --upgrade
pip install setuptools --upgrade
pip install pillow
I can now add my PIL content back to the project and it will work just fine on the production server, without rdkit installed.
RDKIT is only available as a conda install, it still does not install properly and breaks PIL in the process(rdkit depends on pillow). I have reinstalled from both the rdkit and conda-forge channels. Neither work.
What is the proper way to fix this problem? I feel like the hack around of moving .dll files is risky and not a good solution.
UPDATE 0: RDKIT will not load into any server
I created a basic django project similar to what you would find in the tutorial with no static files. The project successfully published to the Apache server describe below in the original post and in Windows 10 IIS. Next modified the models.py to import rdkit and both servers gave the import error and the site would not display.
Original post:
RDKIT is the only package not loading into our production server.
We successfully set up a Wampserver to run Apache and host our Django project . . .but have to comment out all the code associated with rdkit for it to work. This inhibits many required features.
There were no issues using rdkit in Django's test server.
Primary wsgi error:
from .rdBase import rdkitVersion as __version__\r, referer: http://localhost/APP/
ImportError: DLL load failed: The specified module could not be found.\r, referer: http://localhost/APP/
Relevant packages and version details:
Windows 10
Django 2.2
Python 3.7
conda 4.8.2
rdkit 2019.09.3 conda-forge
Wampserver 3.2
Apache 2.4.41
mod-wsgi 4.7.1
postgresql 10
The methods in this blog describe how we setup the production server. With one minor change, we did not alter the httpd_vhosts.conf file and only setup the standard localhost.
The error is reproducible by trying to import rdkit(or one of its methods) into any file needed to host a web application in the described environment.
We found this 2016 thread on the rdkit sourceforge and it sounds like someone else was having a similar problem on a Linux system. This is our first time setting up a server and we have not been successful at translating the recommended fix from linux to windows. There was no follow up to know if the recommendation was attempted let alone successful.
These 2012 slides lend us to believe someone was trying to overcome a similar issue in linux (slide 9)
How would a package need to be altered to allow it to load into a webserver?
Thank you, we greatly appreciate your time and assistance.
I have some .py files that include " import Image " script . Do I need to install PIL? And if so how can install PIL on Nao without internet connection
I dont know if it is alredy installed in 1.14.5 but you can test it easily.
Connect with Putty
type "python"
type "import Image"
If the import succeeds, you dont need to install it.
Another Option is to list all installed pip packages with pip list doc
Check out this on how to install pip packages offline
Whenever I am trying to compile the following code to get a line graph shows some errors. But I don't know how to fix it. Here is my code :
import plotly.plotly as py
import plotly.graph_objs as go
# Create random data with numpy
import numpy as np
N = 500
random_x = np.linspace(0, 1, N)
random_y = np.random.randn(N)
# Create a trace
trace = go.Scatter(
x = random_x,
y = random_y
)
data = [trace]
py.iplot(data, filename='basic-line')
Shows the following error :
mks#mks-H81M-S /media/mks/KUTUBUDDIN1/test $ python datdaPlot.py
Traceback (most recent call last):
File "datdaPlot.py", line 1, in <module>
import plotly.plotly as py
ImportError: No module named plotly.plotly
mks#mks-H81M-S /media/mks/KUTUBUDDIN1/test $
How can this be fixed?
Added:
According to Spandan Brahmbhatt, I have installed pip by sudo pip install plotly. But still shows the following error:
You will need to install them first.
pip install plotly
pip install cufflinks
In my case I wanted to use in a Jupyter Notebook in Windows 10 but was getting the same error
ModuleNotFoundError Traceback (most recent call last)
in
----> 1 import plotly.express as px
ModuleNotFoundError: No module named 'plotly'
Considering you can also install Anaconda in Linux Mint and these came with Anaconda (in my case), if you decide to go with Anaconda you'll have at least two options to install plotly
Anaconda Prompt
Anaconda Navigator
Once installed, you'll be able to use it without any problem
1. Anaconda Prompt
Open Anaconda Prompt
Run the following command
conda install -c plotly plotly=4.8.1
2. Anaconda Navigator
Open Anaconda Navigator
Inside of it, go to Environment, select All in the dropdown and search for plotly.
Then select plotly from that list and click Apply.
I had the same problem. I accidentally was using a file in my working directory named ploylt.py. I removed that file form the directory and it works fine now.
First make sure that you have installed plotly
pip install plotly
(Test) Open an empty file, type
import plotly
and save it with a .py extension. Then run it. If this works, then your installation was ok. Move any other file named plotly (with any extension) in a different directory
It will hopefully work.
Based on ImportError: No module named plotly.plotly, I assume you have not installed plotly module.
You can install it using pip
$ pip install plotly
or
$ sudo pip install plotly
Use this:
conda install -c https://conda.anaconda.org/plotly plotly
Firstly, I'm new to plotly 2, and I am not sure I can make you understand since I'm a Chinese.
Anyway, you can try this, for me, it works:
import plotly
plotly.offline.init_notebook_mode(connected=True)
import plotly.offline as py
import plotly.plotly as py: this command will communicate with a Plotly Cloud or Plotly Enterprise. get_figure downloads a figure from plot.ly or Plotly Enterprise. You need to provide credentials to download figures: Getting Started with Plotly for Python
Refer:
Why Python line plot shows : Don't have an account? plot.ly
If you are using jupyter notebook in windows, then open the Anaconda Powershell Prompt(better to open in admin mode) and use the below command.
pip install plotly
pip install cufflinks
If you are using python from command prompt or which is set in the Environment variable then open the command prompt and use the same command mentioned above.
Both use different instance of python. So, if you use the above mentioned pip command in Anaconda PowerShell than it will install the libraries(plotly and cufflinks) in the python folder that comes with anaconda package but not in the python folder that you are using form the command prompt or which is set in the Environment variable.
I had the same problem. I found the solution by going through the directories.
pip install is installing in default python lib folder, all you have to do is copy the plotly folder from python lib to jupyter notebook lib folder. Since I am using windows the directories were as following :
c:\python34\lib\site-packages
c:\Anacoda3\Lib\site-packages
In case you searched around like I did until I found the link below, but looked here first, hopefully this will save you some frustration.
Delete the plotly.py file in your root folder. The one you created to test the get started code.
After you do that you'll be searching for a while again unless you delete the .pyc file (and get the ImportError: bad magic number in 'plotly': b'\x03\xf3\r\n').
https://github.com/plotly/plotly.py/issues/723
I was also having the same issue, but then it was due to different versions of python.
You might want to try the following command as well: (assuming you have python3 installed)
sudo pip3 install plotly
pip3 install plotly --upgrade
python3 <filename.py>
Please ensure that all the packages that are being used are installed for one python version only. As in my case all packages were installed for python3 but then I was trying to run my code with "python filename.py" and somehow that did not work.
Moreover, I also setup the credentials by following the link: https://plot.ly/settings/api. Register yourself using the link https://plot.ly/settings/api. Then create a file ~/.plotly/.credentials with your username and authentication key.
Hi I ran into something similar on my PC and here is what I advise you to do because it worked for me:
Open your Anaconda Prompt and run pip install plotly==4.1.1 cufflinks
Note that the 4.1.1 here is the version of plotly.
Installation:
Terminal:
- You can find more information about both plotly and cufflinks here.
Anaconda, Jupyter Notebook and Visual Studio Code:
- I believe I ran into this error because I did not install plotly on my PC so you can find more information on various ways of installing plotly here.
Like #Ananada, I had named my test file "plotly.py", i.e. the one containing the import plotly.graph_objects as go statement. So Python was trying to import the module from the script file I was running. Doh! Renamed it and problem solved.
To install plotly:
conda install -c plotly plotly
To check whether the installation was successful:
python3 -m pip show plotly
This shows the version of plotly installed in case of successful installation.
This worked for me!
Activate your environment again after installing the package if you are using a virtual environment.
Do source bin/activate if using bash. See https://docs.python.org/3/tutorial/venv.html.
Check your folder ... If this a temporary/test folder, maybe just like me you are wasting your whole day trying to understand why you cannot import .... .. ..
Maybe, just like happened to me - you have ANOTHER plotly.py file in your folder. Yes, that one.
Actually the module plotly is not pre-installed and we need it to be installed on our machines before using. It can be installed by using pip command :
pip install plotly
Also, we can install cufflinks. Cufflinks are smart plots.
pip install cufflinks
When you will get an error using anaconda navigator plotly install.
Go to the particular environment in Anaconda Navigator.
Then open terminal for the environment.
Install the packages.
On my Laptop, I had to use this code
!pip install pip plotly
Installing the "!" is key for my installation
All the best
When deploying my project through Apache wsgi, using a virtualenv on Ubuntu Server VM, I get the following on error on /var/log/apache2/error.log:
ImportError: Photologue was unable to import Python Imaging Library. Please confirm it's installed and available on your current Python path.
Setup:
Django==1.6.6
django-photologue==2.3
Pillow==2.5.1
However, I have been able to run the project with the same configuration in Ubuntu Desktop VM (for development). For Ubuntu Server VM I followed the same procedure:
Installed dependent image libraries (libjpeg8-dev, etc) through apt-get
pip install pillow, in virtualenv, it showed --- JPEG support available
Ran this with no problems:
manage.py shell
from PIL import Image
im = Image.open("file.jpg")
im.show()
Used django's server with no problem, it showed the login screen:
manage.py runserver
For sanity's sake, I uninstalled pillow, running manage.py runserver showed the same import error. I reinstalled pillow and the error went away in the django server
Now, the issues arise when I try to access the website on the browser through apache. I go to the servername to get the actual django website and keep getting a 500 Internal Server Error on the browser and the import error on apache log.
The only thing I can think of is that in manage.py shell I can't do "import Image". However, photologue has a try/except import in which it will do "from PIL import Image" in case of an exception with "import Image", which covers that case.
I found the answer, posting it here since it was not entirely obvious.
This is a more subtle case of PIL not being able to link against the directories in apt-get. The answer from the ubuntu forums solves this issue.
sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 /lib/
sudo ln - /usr/lib/x86_64-linux-gnu/libfreetype.so.6 /usr/lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so.62 /usr/lib/
However, I was not able to run the django proyect with pillow. I had to use PIL, which is annoying:
pip uninstall pillow
pip install PIL --allow-external PIL --allow-unverified PIL
from flask_mail import Mail,Message
from flask import Flask
I am trying to mail but import error is occurring
The are two packages by that name:
The project found on GitHub and in PyPI uses flask_mail as the package name; see their documentation and project source code.
Their layout indeed requires:
from flask_mail import Mail, Message
This is a fork of the other project, but is currently actively maintained.
There is a project on Bitbucket, and their Flask-Mail documentation and the project source code show that the correct import is:
from flaskext.mail import Mail, Message
This project appears to be outdated and has not seen an update for almost 3 years now. The Github project names the same original author, it appears to be an updated fork. I'd stick with the Github project.
If neither works, then there is no such module installed, not in the location that the Python version running your Flask server can find.
You have to install flask_mail in order to be able to import it.
if you are working with linux type this into your terminal and hit enter:
$ sudo pip install flask_mail
Here is a simple way to save time. Upgrade or update your pip before installing Flask-Mail. It worked on my Mac
pip install --user --upgrade pip
pip install Flask-Mail