'How to build python package for other PC?

Environment

PC1: Dev-machine, online, Python install dir: C:\Python310
PC2: Target machine, offline, Python install dir: C:\Program Files\Python310

Doing

  1. Write source and run command in workdir pip install -t ./out ./ on PC1.
  2. Copy files under out dir from PC1 to PC2.
  3. Open term and invoke exe file on PC2.

Then I got message Fatal error in launcher: Unable to create process using '"C:\Python310\python.exe" "C:\Program Files\Python310\Scripts\my_app.exe" ': ??????????????????.

How can I build for PC2?

Folder structure

┗━ my_app
    ┣━ setup.py
    ┗━ my_app
        ┣━ __init__.py
        ┣━ __main__.py
        ┗━ main.py

File contents:

setup.py

from setuptools import setup, find_packages

setup(
    name = 'my_app',
    packages = find_packages(),
    entry_points = {
        'console_scripts': [
            'my_app = my_app.main:main',
        ],
    },
)

my_app/__main__.py

from .main import main

main()

my_app/main.py

def main():
    print('hello world')

Constraints

  • without cx_freeze, pyinstaller, py2exe or similer third party packages
  • actual my_app requires external packages(ex: tqdm)


Solution 1:[1]

Run command python setup.py bdist and copy dist/my_app...zip content to target machine, its resolved my question.

https://docs.python.org/3/distutils/builtdist.html

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 ArS