cytomining / cytomining/CytoTable
NameError: Cytotable not defined
- Dominant language
- Python
- Stars
- 21
- Forks
- 6
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 6
Description
Hello there!
I have been trying Cytotable as a complete newbie to python. I have been following the tutorial for turning Cellprofiler CSVs into a Parquet file for Pycytominer in a command line.
I first created a virtual environment and installed the cytotable package there (which did succeed; i can see the package in the right folder).
Now i'm trying to import the package, which largely works except for the ForkProcess part. Later in the script, Python only seems to be able the read the cytotable command as a name, rather than as a command.
py
>>> import os
>>> import cytotable
Traceback (most recent call last):
File "", line 1, in
import cytotable
File "..\.venv\Lib\site-packages\cytotable\__init__.py", line 24, in
from .convert import convert
File "..\.venv\Lib\site-packages\cytotable\convert.py", line 10, in
import parsl
File "..\.venv\Lib\site-packages\parsl\__init__.py", line 21, in
from parsl.app.app import bash_app, join_app, python_app
File "..\.venv\Lib\site-packages\parsl\app\app.py", line 13, in
from parsl.dataflow.dflow import DataFlowKernel
File "..\.venv\Lib\site-packages\parsl\dataflow\dflow.py", line 27, in
from parsl.config import Config
File "..\.venv\Lib\site-packages\parsl\config.py", line 11, in
from parsl.executors.base import ParslExecutor
File "..\.venv\Lib\site-packages\parsl\executors\__init__.py", line 1, in
from parsl.executors.flux.executor import FluxExecutor
File "..\.venv\Lib\site-packages\parsl\executors\flux\executor.py", line 21, in
from parsl.executors.base import ParslExecutor
File "..\.venv\Lib\site-packages\parsl\executors\base.py", line 13, in
from parsl.monitoring.radios.base import MonitoringRadioReceiver, RadioConfig
File "..\.venv\Lib\site-packages\parsl\monitoring\__init__.py", line 1, in
from parsl.monitoring.monitoring import MonitoringHub
File "..\.venv\Lib\site-packages\parsl\monitoring\monitoring.py", line 14, in
from parsl.multiprocessing import (
...<4 lines>...
)
File "..\.venv\Lib\site-packages\parsl\multiprocessing.py", line 7, in
from multiprocessing.context import ForkProcess as ForkProcessType
ImportError: cannot import name 'ForkProcess' from 'multiprocessing.context' (C:\Users\User\AppData\Local\Python\pythoncore-3.14-64\Lib\multiprocessing\context.py)
SOURCE_PATH = os.environ["SOURCE_PATH"]
SOURCE_DATATYPE = os.environ["SOURCE_DATATYPE"]
DEST_PATH = os.environ["DEST_PATH"]
PRESET = os.environ["PRESET"]
CACHE_DIR = os.environ["CACHE_DIR"]
Result = cytotable.convert(
... source_path=SOURCE_PATH,
... source_datatype=SOURCE_DATATYPE,
... dest_path=DEST_PATH,
... dest_datatype="parquet",
... preset=PRESET,
... local_cache_dir=CACHE_DIR,
... # Reasonable chunking for large tables; adjust up/down if you hit memory limits
... chunk_size=30000,
... )
Traceback (most recent call last):
File "", line 1, in
Result = cytotable.convert(
^^^^^^^^^
NameError: name 'cytotable' is not defined
I have tried multiple names for the cytotable function (cytotable.py, convert, etc.). I have also tried adjusting directories, and updating everything, but none of it is working. Am I missing something that is causing the package to not load correctly?
Thanks in advance!
Contributor guide
Research direction
Start with the import chain shown in cytotable/__init__.py and convert.py, then inspect the Parsl multiprocessing import that fails on Python 3.14. Reproduce the import in the reported environment and check the supported Python and dependency versions. Done means cytotable imports successfully and the demonstrated convert call no longer produces the follow-on NameError.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data-engineering
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100