Python test fails printing dependency on local package - bazel

I thought that bazel runs tests in sandbox, but recently I got an error pointing to a local module /usr/lib/python3/dist-packages/OpenSSL/SSL.py. It it correct? How to make bazel run in a sandbox?
exec ${PAGER:-/usr/bin/less} "$0" || exit 1
Executing tests from //master:master_impl_test
-----------------------------------------------------------------------------
Traceback (most recent call last):
File "/home/agent/.cache/bazel/_bazel_agent/374e3bc824f25540df2be790dbb8f41e/sandbox/linux-sandbox/1/execroot/__main__/bazel-out/k8-fastbuild/bin/master/master_impl_test.runfiles/__main__/master/master_impl_test.py", line 14, in <module>
from master import master_impl
File "/home/agent/.cache/bazel/_bazel_agent/374e3bc824f25540df2be790dbb8f41e/sandbox/linux-sandbox/1/execroot/__main__/bazel-out/k8-fastbuild/bin/master/master_impl_test.runfiles/__main__/master/master_impl.py", line 20, in <module>
from azure.cosmos import cosmos_client
File "/home/agent/.cache/bazel/_bazel_agent/374e3bc824f25540df2be790dbb8f41e/sandbox/linux-sandbox/1/execroot/__main__/bazel-out/k8-fastbuild/bin/master/master_impl_test.runfiles/py_deps/pypi__azure_cosmos/azure/cosmos/cosmos_client.py", line 25, in <module>
import requests
File "/home/agent/.cache/bazel/_bazel_agent/374e3bc824f25540df2be790dbb8f41e/sandbox/linux-sandbox/1/execroot/__main__/bazel-out/k8-fastbuild/bin/master/master_impl_test.runfiles/py_deps/pypi__requests/requests/__init__.py", line 95, in <module>
from urllib3.contrib import pyopenssl
File "/home/agent/.cache/bazel/_bazel_agent/374e3bc824f25540df2be790dbb8f41e/sandbox/linux-sandbox/1/execroot/__main__/bazel-out/k8-fastbuild/bin/master/master_impl_test.runfiles/py_deps/pypi__urllib3/urllib3/contrib/pyopenssl.py", line 46, in <module>
import OpenSSL.SSL
File "/usr/lib/python3/dist-packages/OpenSSL/__init__.py", line 8, in <module>
from OpenSSL import crypto, SSL
File "/usr/lib/python3/dist-packages/OpenSSL/SSL.py", line 675, in <module>
_lib.Cryptography_HAS_TLSEXT_HOSTNAME, "SNI not available"
AttributeError: module 'lib' has no attribute 'Cryptography_HAS_TLSEXT_HOSTNAME'

Today my project's CI get this error. I fixed this problem in my project, just upgrading pyOpenSSL library to latest version.
Old requirements-file.txt:
requests
pyOpenSSL==19.0.0
urllib3==1.25.3
New requirements-file.txt:
cffi==1.14.4
cryptography==3.3
pycparser==2.20
pyOpenSSL==20.0.0
six==1.15.0
urllib3==1.25.3

Related

problems compiling with buildozer

I'm trying to create an apk with buildozer and I get this error:
[WARNING]: prerequisites.py is experimental and does not support all prerequisites yet. [WARNING]: Please report any issues to the python-for-android issue tracker. [WARNING]: prerequisites.py is experimental and does not support all prerequisites yet. [WARNING]: Please report any issues to the python-for-android issue tracker. [INFO]: Will compile for the following archs: arm64-v8a, armeabi-v7a [INFO]: Found Android API target in $ANDROIDAPI: 31 Traceback (most recent call last): File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "/usr/lib/python3.10/runpy.py", line 86, in _run_code exec(code, run_globals) File "/mnt/c/pakagin2/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 1312, in <module> main() File "/mnt/c/pakagin2/.buildozer/android/platform/python-for-android/pythonforandroid/entrypoints.py", line 18, in main ToolchainCL() File "/mnt/c/pakagin2/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 734, in __init__ getattr(self, command)(args) File "/mnt/c/pakagin2/.buildozer/android/platform/python-for-android/pythonforandroid/toolchain.py", line 143, in wrapper_func ctx.prepare_build_environment(user_sdk_dir=self.sdk_dir, File "/mnt/c/pakagin2/.buildozer/android/platform/python-for-android/pythonforandroid/build.py", line 273, in prepare_build_environment apis = get_available_apis(self.sdk_dir) File "/mnt/c/pakagin2/.buildozer/android/platform/python-for-android/pythonforandroid/build.py", line 47, in get_available_apis targets = get_targets(sdk_dir) File "/mnt/c/pakagin2/.buildozer/android/platform/python-for-android/pythonforandroid/build.py", line 35, in get_targets targets = avdmanager('list', 'target').stdout.decode('utf-8').split('\n') AttributeError: 'str' object has no attribute 'stdout'
I tried reinstalling everything and searching on google but I can't find a solution.
I suppose there is an error when it looks for api=31 because it stops there.
I also tried with google collab and it gives me the same error

Console problem in Spyder showing: an error ocurred while starting the kernel [duplicate]

Spyder console is showing an error msg:
An error ocurred while starting the kernel
Traceback (most recent call last): File "C:\Users\ABCD\Anaconda3\lib\runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "C:\Users\ABCD\Anaconda3\lib\runpy.py",
line 85, in _run_code exec(code, run_globals) File "C:\Users\ABCD\Anaconda3\lib\site‑packages\spyder_kernels\console\__main__.py",
line 11, in start.main() File "C:\Users\ABCD\Anaconda3\lib\site‑packages\spyder_kernels\console\start.py",
line 287, in main import_spydercustomize() File "C:\Users\ABCD\Anaconda3\lib\site‑packages\spyder_kernels\console\start.py",
line 39, in import_spydercustomize import spydercustomize File "C:\Users\ABCD\Anaconda3\lib\site‑packages\spyder_kernels\customize\spydercustomize.py",
line 27, in from IPython.core.getipython import get_ipython File "C:\Users\ABCD\Anaconda3\lib\site‑packages\IPython\__init__.py",
line 55, in from .terminal.embed import embed File "C:\Users\ABCD\Anaconda3\lib\site‑packages\IPython\terminal\embed.py",
line 17, in from IPython.terminal.ipapp import load_default_config File "C:\Users\ABCD\Anaconda3\lib\site‑packages\IPython\terminal\ipapp.py",
line 28, in from IPython.core.magics import ( File "C:\Users\ABCD\Anaconda3\lib\site‑packages\IPython\core\magics\__init__.py",
line 18, in from .code import CodeMagics, MacroToEdit File "C:\Users\ABCD\Anaconda3\lib\site‑packages\IPython\core\magics\code.py",
line 23, in from urllib.request import urlopen File "C:\Users\ABCD\Anaconda3\lib\urllib\request.py",
line 86, in import email File "C:\Users\ABCD\email.py",
line 8, in n=input() EOFError: EOF when reading a line
What I understood on reading other threads about similar kind of problems , that this is due to having two python versions installed
So, I tried manually removing all python files (as I was unable to uninstall python) and then uninstalled and reinstalled anaconda (spyder) but the problem persists
Any kind of help wd be appreciated
Short answer: To fix this problem, you need to remove or rename this file:
C:\Users\ABCD\email.py
Long answer: That file has the same name of a core Python module. Since it's placed in your home directory, it has higher priority than that module, which makes Python to use it first and ends up causing the error.

Unable to launch spyder

I get this error when I launch Spyder through cmd
Also, I can't run it by clicking the shortcut
Traceback (most recent call last):
File "C:\Akash Shanmugaraj\anaconda3\Scripts\spyder-script.py", line 6, in <module>
from spyder.app.start import main
File "C:\Akash Shanmugaraj\anaconda3\lib\site-packages\spyder\app\start.py", line 22, in <module>
import zmq
File "C:\Users\Akash Shanmugaraj\AppData\Roaming\Python\Python38\site-packages\zmq\__init__.py", line 47, in <module>
from zmq import backend
File "C:\Users\Akash Shanmugaraj\AppData\Roaming\Python\Python38\site-packages\zmq\backend\__init__.py", line 40, in <module>
reraise(*exc_info)
File "C:\Users\Akash Shanmugaraj\AppData\Roaming\Python\Python38\site-packages\zmq\utils\sixcerpt.py", line 34, in reraise
raise value
File "C:\Users\Akash Shanmugaraj\AppData\Roaming\Python\Python38\site-packages\zmq\backend\__init__.py", line 27, in <module>
_ns = select_backend(first)
File "C:\Users\Akash Shanmugaraj\AppData\Roaming\Python\Python38\site-packages\zmq\backend\select.py", line 28, in select_backend
mod = __import__(name, fromlist=public_api)
File "C:\Users\Akash Shanmugaraj\AppData\Roaming\Python\Python38\site-packages\zmq\backend\cython\__init__.py", line 6, in <module>
from . import (constants, error, message, context,
ImportError: cannot import name 'constants' from partially initialized module 'zmq.backend.cython' (most likely due to a circular import) (C:\Users\Akash Shanmugaraj\AppData\Roaming\Python\Python38\site-packages\zmq\backend\cython\__init__.py)
I had the same problem. "activate base" didn't help, but just found a solution. Certainly not quite correct, but it works.
Go to folder:
C:\Users\<your_login>\AppData\Roaming\Python
and rename it ("Python") on "Python_x" or something else.
Spyder and Navigator starts up and so far everything works, but don't delete that folder.
In cmd try activating the base environment(or any other relevant environment) by running
activate base
and then try running spyder.

ImportError during python run

Currently I am executing doamusic python codes from
https://github.com/yump/doamusic.git
I am using python 3.7.2. (Python IDLE) on windows.
My directory tree is
F:\doamusic_project\doamusic\music.py
when I run music.py, I am getting the following error
Traceback (most recent call last):
File "F:\doamusic_project\doamusic\music.py", line 31, in
from . import util
File "..\doamusic__init__.py", line 1, in
from doamusic.music import *
File "..\doamusic\music.py", line 32, in
from . import _music
ImportError: cannot import name '_music' from 'doamusic' (..\doamusic__init__.py)
What is the reason for not importing _music ?.
You are trying to do an import from .pyx file. A .pyx file must be compiled unlike a .py file.
Try to do that before the import of _music:
import pyximport
pyximport.install()
More info Cython

Unable to compile third-party package for iOS using Kivy toolchain

I am working on a small testing project and wanted to add Robot Remoteserver onto an iOS device but can't get toolchain to build the package successfully. Here's the errors I get when I attempt to build this package:
copying build/lib/robotremoteserver.py -> /Users/usman/kivy/kivy-ios/build/robotremoteserver/i386/PythonRemoteServer-master/iosbuild/lib/python2.7/site-packages
byte-compiling /Users/usman/kivy/kivy-ios/build/robotremoteserver/i386/PythonRemoteServer-master/iosbuild/lib/python2.7/site-packages/robotremoteserver.py to robotremoteserver.pyc
writing byte-compilation script '/tmp/tmpM9XgVf.py'
/Users/usman/kivy/kivy-ios/dist/hostpython/bin/python -OO /tmp/tmpM9XgVf.py
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
removing /tmp/tmpM9XgVf.py
running install_egg_info
Removing /Users/usman/kivy/kivy-ios/build/robotremoteserver/i386/PythonRemoteServer-master/iosbuild/lib/python2.7/site-packages/robotremoteserver-devel-py2.7.egg-info
Writing /Users/usman/kivy/kivy-ios/build/robotremoteserver/i386/PythonRemoteServer-master/iosbuild/lib/python2.7/site-packages/robotremoteserver-devel-py2.7.egg-info
Traceback (most recent call last):
File "./toolchain.py", line 1224, in <module>
ToolchainCL()
File "./toolchain.py", line 1040, in __init__
getattr(self, args.command)()
File "./toolchain.py", line 1064, in build
build_recipes(args.recipe, ctx)
File "./toolchain.py", line 933, in build_recipes
recipe.execute()
File "/Users/usman/kivy/kivy-ios/toolchain.py", line 556, in execute
self.build_all()
File "/Users/usman/kivy/kivy-ios/toolchain.py", line 56, in _cache_execution
f(self, *args, **kwargs)
File "/Users/usman/kivy/kivy-ios/toolchain.py", line 668, in build_all
self.install()
File "/Users/usman/kivy/kivy-ios/toolchain.py", line 56, in _cache_execution
f(self, *args, **kwargs)
File "/Users/usman/kivy/kivy-ios/toolchain.py", line 794, in install
self.install_python_package()
File "/Users/usman/kivy/kivy-ios/toolchain.py", line 835, in install_python_package
dest_dir)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 171, in copytree
names = os.listdir(src)
OSError: [Errno 2] No such file or directory: '/Users/usman/kivy/kivy-ios/build/robotremoteserver/i386/PythonRemoteServer-master/iosbuild/lib/python2.7/site-packages/robotremoteserver'
For the line Could not find platform dependent libraries I did set the PYTHONPATH but still had this error.
Since there's no template to follow for the build script, I viewed the build files for the packages kivy comes with and created one that contains the following
from toolchain import PythonRecipe
class RobotRemoteServer(PythonRecipe):
version = "master"
url = "https://github.com/robotframework/PythonRemoteServer/archive/{version}.zip"
depends = ["python"]
recipe = RobotRemoteServer()
I have ensured Kivy and the packages it depends on are all installed correctly. I've also searched the web but can't quite figure out what the problem is. I'm using Xcode 6.4 and latest kivy pull from git. I have been stuck on this for a few days and appreciate any help or guidance.
Kivy recipes follow the same format as those for python-for-android. Here you have the related documentation.

Resources