|
21 | 21 | except ImportError: |
22 | 22 | tls_client_binaries = [] |
23 | 23 |
|
24 | | -# Check if we're in a virtual environment |
25 | | -if hasattr(sys, 'real_prefix') or (hasattr(sys, 'base_prefix') and sys.base_prefix != sys.prefix): |
26 | | - # We're in a virtual environment |
27 | | - if sys.platform == "win32": |
28 | | - site_packages = os.path.join(sys.prefix, 'Lib', 'site-packages') |
29 | | - else: |
30 | | - site_packages = os.path.join(sys.prefix, 'lib', f'python{sys.version_info.major}.{sys.version_info.minor}', 'site-packages') |
31 | | -else: |
32 | | - # We're not in a virtual environment, use default paths |
33 | | - import site |
34 | | - site_packages = site.getsitepackages()[0] |
| 24 | +# Use the current Python environment's site-packages (works for venv and CI) |
| 25 | +import site |
| 26 | +site_packages = site.getsitepackages()[0] |
| 27 | + |
| 28 | +# Build data list with existence checks |
| 29 | +datas = [ |
| 30 | + ('backend', '.'), |
| 31 | +] |
| 32 | + |
| 33 | +# Add site-packages dependencies with existence checks |
| 34 | +dependencies = [ |
| 35 | + ('fake_useragent', 'fake_useragent'), |
| 36 | + ('streamlink', 'streamlink'), |
| 37 | + ('websockets', 'websockets'), |
| 38 | + ('tls_client', 'tls_client'), |
| 39 | + ('cffi', 'cffi'), |
| 40 | + ('psutil', 'psutil'), |
| 41 | +] |
| 42 | + |
| 43 | +for dep, target in dependencies: |
| 44 | + dep_path = os.path.join(site_packages, dep) |
| 45 | + if os.path.exists(dep_path): |
| 46 | + datas.append((dep_path, target)) |
| 47 | + |
| 48 | +# Add fake_useragent data files if they exist |
| 49 | +fake_useragent_data = os.path.join(site_packages, 'fake_useragent', 'data') |
| 50 | +fake_useragent_json = os.path.join(site_packages, 'fake_useragent', 'data.json') |
| 51 | + |
| 52 | +if os.path.exists(fake_useragent_data): |
| 53 | + datas.append((fake_useragent_data, 'fake_useragent/data')) |
| 54 | +if os.path.exists(fake_useragent_json): |
| 55 | + datas.append((fake_useragent_json, 'fake_useragent/data.json')) |
35 | 56 |
|
36 | 57 | a = Analysis( |
37 | 58 | ['backend/main.py'], |
38 | 59 | pathex=[], |
39 | 60 | binaries=tls_client_binaries, |
40 | | - datas=[ |
41 | | - ('backend', '.'), |
42 | | - (os.path.join(site_packages, 'fake_useragent', 'data'), 'fake_useragent/data'), |
43 | | - (os.path.join(site_packages, 'fake_useragent'), 'fake_useragent'), |
44 | | - (os.path.join(site_packages, 'streamlink'), 'streamlink'), |
45 | | - (os.path.join(site_packages, 'websockets'), 'websockets'), |
46 | | - (os.path.join(site_packages, 'tls_client'), 'tls_client'), |
47 | | - (os.path.join(site_packages, 'cffi'), 'cffi'), |
48 | | - (os.path.join(site_packages, 'psutil'), 'psutil'), |
49 | | - ], |
| 61 | + datas=datas, |
50 | 62 | hiddenimports=[ |
51 | 63 | 'rich', |
52 | 64 | 'trio', |
|
0 commit comments