Upgrade from Eikon -> Workspace. Learn about programming differences.

For a deeper look into our Eikon Data API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
1 1 1 1

Error: module 'anyio' has no attribute 'Lock'

Raised in behalf of user as he is getting this error though using the .NET library and so far he is having no problems. He has already installed version eikon-1.1.14.

Will share link to user for him to provide additional information.


Please see details below.

From Eikon API



[18]:


               


############# Eikon ###############
#https://developers.refinitiv.com/en/api-catalog/eikon/eikon-data-api/quick-start#quick-start-guide-for-windows
import eikon as ek 
ek.set_app_key('##### EIKON APP KEY #####')


---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_15876/3524143416.py in <module>
      2 #https://developers.refinitiv.com/en/api-catalog/eikon/eikon-data-api/quick-start#quick-start-guide-for-windows
      3 import eikon as ek
----> 4 ek.set_app_key('##### EIKON APP KEY #####')

~\anaconda3\envs\eikon\lib\site-packages\eikon\Profile.py in set_app_key(app_key)
     31     You can get an app key using the App Key Generator (this App is available in Eikon Desktop).
     32     """
---> 33     get_profile().set_app_key(app_key)
     34      35 
~\anaconda3\envs\eikon\lib\site-packages\eikon\Profile.py in set_app_key(self, app_key)
    221                 self._desktop_session._app_key = app_key  # = DesktopSession(app_key, self._on_state, self._on_event)
    222             else:
--> 223                 self._desktop_session = DesktopSession(app_key=app_key,
    224                                                        on_state= self._on_state,
    225                                                        on_event=self._on_event) 
~\anaconda3\envs\eikon\lib\site-packages\eikon\streaming_session\desktop_session.py in __init__(self, app_key, on_state, on_event, **kwargs)
     23      24     def __init__(self, app_key, on_state=None, on_event=None, **kwargs):
---> 25         super().__init__(app_key=app_key,
     26                          on_state=on_state,
     27                          on_event=on_event,

~\anaconda3\envs\eikon\lib\site-packages\eikon\streaming_session\session.py in __init__(self, app_key, on_state, on_event, token, dacs_user_name, dacs_position, dacs_application_id)
    216         self._timeout = 60
    217         timeout = httpx.Timeout(self._timeout)
--> 218         self._http_session = httpx.AsyncClient(
    219             headers={
                "Accept": "application/json"},
    220             timeout=timeout,

~\anaconda3\envs\eikon\lib\site-packages\httpx\_client.py in __init__(self, auth, params, headers, cookies, verify, cert, http1, http2, proxies, mounts, timeout, follow_redirects, limits, max_redirects, event_hooks, base_url, transport, app, trust_env)
   1378         proxy_map = self._get_proxy_map(proxies, allow_env_proxies)
   1379 -> 1380         self._transport = self._init_transport(
   1381             verify=verify,
   1382             cert=cert,

~\anaconda3\envs\eikon\lib\site-packages\httpx\_client.py in _init_transport(self, verify, cert, http1, http2, limits, transport, app, trust_env)
   1426             return ASGITransport(app=app)
   1427 -> 1428         return AsyncHTTPTransport(
   1429             verify=verify,
   1430             cert=cert,

~\anaconda3\envs\eikon\lib\site-packages\httpx\_transports\default.py in __init__(self, verify, cert, http1, http2, limits, trust_env, proxy, uds, local_address, retries)
    231     232         if proxy is None:
--> 233             self._pool = httpcore.AsyncConnectionPool(
    234                 ssl_context=ssl_context,
    235                 max_connections=limits.max_connections,

~\anaconda3\envs\eikon\lib\site-packages\httpcore\_async\connection_pool.py in __init__(self, ssl_context, max_connections, max_keepalive_connections, keepalive_expiry, http1, http2, retries, local_address, uds, network_backend)
    109         self._pool: List[AsyncConnectionInterface] = []
    110         self._requests: List[RequestStatus] = []
--> 111         self._pool_lock = AsyncLock()
    112         self._network_backend = (
    113             AutoBackend() if network_backend is None else network_backend 
~\anaconda3\envs\eikon\lib\site-packages\httpcore\_synchronization.py in __init__(self)
     10 class AsyncLock:
     11     def __init__(self) -> None:
---> 12         self._lock = anyio.Lock()




eikon-data-apipythonapiasynchronous
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

<AHS>

masked Eikon app key (2d8dd941da80401bbbdf3e1a835ddea26ccbbc50)

Hello @nelbert.guantero ,

Thank you for your participation in the forum.

Is the reply below satisfactory in resolving your query?

If yes, please click the 'Accept' text next to the appropriate reply. This will guide all community members who have a similar question.

Otherwise please post again offering further insight into your question.

Thanks,

-AHS

@nelbert.guantero

Hi,

Please be informed that a reply has been verified as correct in answering the question, and marked as such.

Thanks,

AHS

Upvotes
Accepted
14.2k 30 5 10

Hi @nelbert.guantero

Can you ask the user to check the version of the Anyio library using 'pip list' command? I'm using Anyio v3.2.1 with Eikon v1.1.14 and I couldn't reproduce the issue you found, even using the same app key provided.

If the user is using another version of Anyio, please ask them to upgrade the library. But if they're using the same version, there could be any other issue and I'll try to find the cause and how to fix it.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
1 1 1 1

Hi @raksina.samasiri, based on piplis previously sent by user, he has anyio version 3.3.4.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
14.2k 30 5 10

hi @nelbert.guantero ,

Could you please ask the client to downgrade anyio to version 3.2.1 and try running the code again? it could be that his current version of anyio module does not match the interface expectation by eikon library 1.1.14.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
1 1 1 1

Will do, @raksina.samasiri. Thanks.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.