#21751 pants prohibits python to use PYTHONPYCACHEPREFIX
Issue created by
thelittlebug
Describe the bug \nas im using django i need a way to start manage.py without a sandbox. normally it is possible to instruct python via the PYTHONPYCACHEPREFIX environment variable to write the compiled bytecode not besides the source files. \nthats not working with pants. \na simple test script\n\n```\nimport os\nimport sys\n\n\nprint(os.environ[\"PYTHONPYCACHEPREFIX\"])\nprint(sys.pycache_prefix)\nprint(sys.argv)\n\n```\n\nif i run this script with the system interpreter the output is as expected\n\n```\n❯ python src/python/tutor/test.py\n/home/tlb/work/monorepo/__pycache__\n/home/tlb/work/monorepo/__pycache__\n['src/python/tutor/test.py']\n\n```\n\nif i run this script with pants the pycache_prefix doesnt get set in the sandbox\n\n```\n❯ pants run src/python/tutor/test.py:src_prod\n/home/tlb/work/monorepo/__pycache__\nNone\n['/tmp/pants-sandbox-vN8QhC/src/python/tutor/test.py']\n\n```\n\nneither without a sandbox\n\n```\n❯ pants run src/python/tutor:test_dev\n/home/tlb/work/monorepo/__pycache__\nNone\n['/home/tlb/work/monorepo/src/python/tutor/test.py']\n\n```\n\n*Pants version* \n2.24.0a0\n\n*OS* \narch linux\n\n*Additional info* \nmy build file in this dir\n\n```\n# cocomo-bazel\n\nvcs_version(\n name=\"version\",\n generate_to=\"version.py\",\n template='version = \"{version}\"',\n)\n\npython_sources(\n name=\"src_prod\",\n dependencies=[\n \":version\",\n \"./base\",\n \"./core\",\n \"./course\",\n \"./lib\",\n \"./page\",\n \"./templates\",\n \"src/python/tuhls_core\",\n \"src/python/tuhls_icons\",\n \"3rdparty/python:reqs#django-allauth\",\n \"3rdparty/python:reqs#django-htmx\",\n \"3rdparty/python:reqs#django-jinja\",\n \"3rdparty/python:reqs#sorl-thumbnail\",\n \"3rdparty/python:reqs#django-admin-sortable2\",\n \"3rdparty/python:reqs#djangoql\",\n \"3rdparty/python:reqs#django-nested-admin\",\n \"3rdparty/python:reqs#psycopg\",\n \"3rdparty/python:reqs#ffmpeg-python\",\n \"3rdparty/python:reqs#whitenoise\",\n ],\n)\n\npython_sources(\n name=\"src_dev\",\n dependencies=[\n \":src_prod\",\n \"3rdparty/python:reqs#django-debug-toolbar\",\n \"3rdparty/python:reqs#django-extensions\",\n \"3rdparty/python:reqs#Werkzeug\",\n ],\n)\n\npython_source(\n name=\"manage_dev\",\n dependencies=[\":src_dev\"],\n restartable=True,\n source=\"manage.py\",\n run_goal_use_sandbox=False,\n)\n\npython_source(\n name=\"test_dev\",\n dependencies=[\":src_dev\"],\n restartable=True,\n source=\"test.py\",\n run_goal_use_sandbox=False,\n)\n\n\npex_binary(\n name=\"manage_dev_pex\",\n dependencies=[\":src_dev\"],\n entry_point=\"manage.py\",\n restartable=True,\n layout=\"loose\",\n)\n\npython_source(\n name=\"manage_prod\",\n dependencies=[\":src_prod\"],\n restartable=True,\n source=\"manage.py\",\n)\n\npex_binary(\n name=\"manage_prod_pex\",\n dependencies=[\":src_prod\"],\n entry_point=\"manage.py\",\n)\n\n```
pantsbuild/pants