import tensorflow in a Jython session? - tensorflow

I am wondering whether importing Tensorflow in a jython session is feasible and if so, how shall I configure my environment to get it running.
Of course, using python, importing Tensorflow works as expected. Is Tensorflow compatible with Jython ?
[mata] /home/mata/mlp > python
imPython 2.7.12 |Continuum Analytics, Inc.| (default, Jul 2 2016, 17:42:40) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import tensorflow as tf
>>>
whereas with Jython
[mata] /home/mata/mlp > jython
Jython 2.7.0 (default:9987c746f838, Apr 29 2015, 02:25:11)
[Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)] on java1.8.0_101
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named tensorflow
>>>
Update:
I tried to load the libtensorflow JAR but still, I seem to be missing something here...
>>> import sys
>>> sys.path.append("libtensorflow-1.2.1.jar")
>>> help(tf) # OK
but I must be missing some obvious step to get the hello Tensorflow case work...

No, Jython won't work with Python modules that use C/C++.
The jar you're trying to use is for the Java API (over JNI), so guess you've already seen https://www.tensorflow.org/install/install_java

Related

Can't install packages via pip, with error: ERROR: Could not find a version that satisfies the requirement, but can import via python console?

I am getting essentially the same errors on multiple packages install via pip on Ubuntu 20.04 using python3.8.10:
ERROR: Could not find a version that satisfies the requirement (from versions: none)
ERROR: No matching distribution found for
However, if I run python3 in the console, i can import these packages that are not shown up on pip list and can't be installed. How to fix?:
python3
Python 3.8.10 (default, Mar 15 2022, 12:22:08)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import socket
>>> import logging
>>> import re
>>> import traceback
>>> import subprocess
>>> dir(subprocess)
['CalledProcessError', 'CompletedProcess', 'DEVNULL', 'PIPE', 'Popen', 'STDOUT', 'SubprocessError', 'TimeoutExpired', '_PIPE_BUF', '_PopenSelector', '_USE_POSIX_SPAWN', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_active', '_args_from_interpreter_flags', '_cleanup', '_mswindows', '_optim_args_from_interpreter_flags', '_posixsubprocess', '_time', '_use_posix_spawn', 'builtins', 'call', 'check_call', 'check_output', 'contextlib', 'errno', 'getoutput', 'getstatusoutput', 'io', 'list2cmdline', 'os', 'run', 'select', 'selectors', 'signal', 'sys', 'threading', 'time', 'warnings']
>>>
Please advise on how to fix it so Pip would synch with what i am able to import at runtime, ie. python console.
Do i need to set PYTHONPATH variable?

Netmiko - Windows 10 - SSH Router - Not able to run 1st command only

>>> from netmiko import ConnectHandler
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\netmiko\__init__.py", line 7, in <module>
Hello Experts,
Post applying from netmiko import ConnectHandler command I am getting above error.
Setup - Windows 10, Python 3.7, Netmiko installed. no other file present in pc with name netmiko.py.
Please suggest solution.
In order to use Netmiko, you need to be in the same python environment that you installed netmiko.
I see you installed Windows 10 and Python 3.7, but the python that is being used to call Netmiko is 2.7. You can tell from the "Python27" in the directory name C:\Python27\lib\site-packages\netmiko\__init__.py.
Run a Python 3.7 shell and try the command again. Make sure Netmiko is properly installed in the environment.
To verify if netmiko is installed, type help("modules") to retrieve a list of all installed packages. If Netmiko was properly installed, you should see it there.
Python 3.7.5 (tags/v3.7.5:5c02a39a0b, Oct 15 2019, 00:11:34) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> help("modules")
Please wait a moment while I gather a list of all available modules...
---- output omitted ----
Cryptodome bdb gc pyexpat
__future__ binascii genericpath pygments
_string codecs netaddr tabnanny
_strptime codeop netapp tarfile
_struct collections netmiko telnetlib
_symtable colorama netmiko_globals tempfile
_testbuffer colorsys netrc terminal_server
_testcapi compileall nntplib test
_testconsole concurrent nt textfsm
_testimportmultiple configparser ntpath textwrap
_testmultiphase contextlib nturl2path this
_textfsm contextvars numbers threading
I hope this was helpful
Run : python3 to access python version 3.5+ terminal.
>>>from netmiko import ConnectHandler

Pycharm os.get_terminal_size() not working

Python 3.7.1 on Ubuntu 18.04.2 LTS
Using Pycharm version:
PyCharm 2019.1.3 (Professional Edition)
Build #PY-191.7479.30, built on May 30, 2019
Linux 4.18.0-22-generic
I'm having issues with the os.get_terminal_size() function call
Running the command from the terminal window works:
Python 3.7.1 (default, Oct 22 2018, 11:21:55)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.get_terminal_size()
os.terminal_size(columns=223, lines=18)
But running it from the Python Console window doesn't
>>>import os
>>>os.get_terminal_size()
Traceback (most recent call last):
File "<input>", line 1, in <module>
OSError: [Errno 25] Inappropriate ioctl for device
My googling hasn't produced much information specific to my issue at hand. What does OSError: [Errno 25] Inappropriate ioctl for device actually mean and how do I fix it?
Your implementation of Python relies on the terminal being compliant to the request for the terminal size by the OS. In the CPython implementation, the system call in ioctl() will fail because the device (terminal) doesn't recognize the command. You can try to set
-Drun.processes.with.pty=true
in Help/Edit Custom VM Options... as per this answer.
Instead of using os you can use shutil. This works without any hitch in Pycharm (and hopefully, by extension, IntelliJ).
import shutil
terminal_size = shutil.get_terminal_size(fallback=(120, 50))
# attributes
print('cols=', terminal_size.columns)
print('rows=', terminal_size.rows)

Got errors when using jython ez_setup.py in python

New to Jython.
I am this following How can I install various Python libraries in Jython? to use $ jython ez_setup.py, but ends with this error
Traceback (innermost last):
File "ez_setup.py", line 278, in ?
File "ez_setup.py", line 210, in main
File "ez_setup.py", line 139, in download_setuptools
ImportError: no module named distutils
I download ez_setup.py from here http://peak.telecommunity.com/dist/ez_setup.py. I have installed jython correct under the guidance from here http://www.jython.org/archive/22/installation.html
Thank you guys in advance.
It appears that distutils is not available in your version of Jython. From the link you provided, it looks like you are using Jython2.2, and when I start Jython2.2.1 and try to import distutils, I also get an ImportError:
Jython 2.2.1 on java1.7.0_79
Type "copyright", "credits" or "license" for more information.
>>> import distutils
Traceback (innermost last):
File "<console>", line 1, in ?
ImportError: no module named distutils
>>>
On a more recent version of Jython, the distutils module imports successfully:
Jython 2.7b2 (default:a5bc0032cf79+, Apr 22 2014, 21:20:17)
[Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)] on java1.8.0_60
Type "help", "copyright", "credits" or "license" for more information.
>>> import distutils
>>>
Is there a reason you must such an old version of Jython?

Mac Lion Python install: Matplotlib ends in mysql error

I am setting up python/numpy/scipy/matplotlib/mysql on my Mac Lion. I first installed Python 2.7.3 and mysqldb. I then updated to XCode 4.3.3 and used the ScipySuperpack to install numpy, scipy, etc.
at this point I am able to import several packages in python without incident but matplotlib dies as follows:
Python 2.7.3 (v2.7.3:70274d53c1dd, Apr 9 2012, 20:52:43)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> import scipy
>>> import _mysql
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-
packages/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg/_mysql.py:3:
UserWarning: Module _mysql was already imported from
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-
packages/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg/_mysql.pyc, but
/Users/myname/pypy is being added to sys.path
>>> import matplotlib
Error 2002: Can't connect to local MySQL server through socket
'/tmp/mysql.sock' (2)
Sorry if the question is basic but I don't understand the warning, or what it may have to
do with the eventual error...
Strange. There is probably some internal namespace collision going on (given that this doesn't happen if you are in the mysql build directory). Matplotlib does not use mysql in any way, I checked this from a clone of the matplotlib source with:
$> grep -ir mysql *
And got no hits. But I guess the obvious answer is not to import matplotlib from within the mysql build directory...