Wenn ich jedoch den Befehl verwende:
Code: Select all
python -m venv .venv
Ich habe:
- Überprüft, dass die globale Python-Installation python3.13t.exe enthält.
- Überprüft die .venv -Verzeichnis, aber es hat nur die Standardeinstellung python.exe.
- Es wurde versucht, den Interpreter explizit anzugeben mit:
Code: Select all
python -m venv --copies .venv
Bearbeiten:
Habe es auch mit dem folgenden Befehl versucht:
Code: Select all
python3.13t -m venv .venv
Ist dies das erwartete Verhalten beim Erstellen einer virtuellen Umgebung mit Python 3.13 im Free-Thread-Modus? Wenn nicht, wie kann ich sicherstellen, dass die virtuelle Umgebung nur den Interpreter python3.13t.exe enthält oder ihn zumindest ordnungsgemäß vom Standardinterpreter python.exe unterscheidet?
Edit 2 :
Code, den ich ausführen möchte
Code: Select all
import aiohttp
import asyncio
import sys
import time
async def fetch_data(session, url):
"""
Fetch data from a given URL using an aiohttp session.
"""
try:
async with session.get(url) as response:
data = await response.text()
print(f"Data fetched from {url[:30]}... (length: {len(data)})")
return data
except Exception as e:
print(f"Failed to fetch data from {url}: {e}")
return None
async def main():
"""
Main coroutine to manage the asynchronous fetching of data.
"""
urls = [
"https://jsonplaceholder.typicode.com/posts",
"https://jsonplaceholder.typicode.com/comments",
"https://jsonplaceholder.typicode.com/albums",
"https://jsonplaceholder.typicode.com/photos",
"https://jsonplaceholder.typicode.com/todos",
]
async with aiohttp.ClientSession() as session:
# Create tasks for fetching data from all URLs
tasks = [fetch_data(session, url) for url in urls]
# Gather results asynchronously
results = await asyncio.gather(*tasks)
print("\nAll tasks completed!")
for idx, result in enumerate(results):
print(f"Result {idx + 1} length: {len(result) if result else 'Failed'}")
# Run the main event loop
if __name__ == "__main__":
if sys._is_gil_enabled():
print("GIL enabled")
else:
print("GIL disabled")
t1 = time.time()
asyncio.run(main())
t2 = time.time()
print(f"Execution time: {t2-t1:.2f}s")
Beim Ausführen des Codes wird nichts ausgegeben