Skip to content

Commit dabcdb1

Browse files
committed
Installation difficulties
1 parent 9c19b20 commit dabcdb1

File tree

2 files changed

+56
-7
lines changed

2 files changed

+56
-7
lines changed

docs/notebooks/widget_plugin_spatial-query.ipynb

Lines changed: 46 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,47 @@
1818
},
1919
{
2020
"cell_type": "code",
21-
"execution_count": null,
21+
"execution_count": 1,
2222
"metadata": {
2323
"tags": []
2424
},
2525
"outputs": [],
2626
"source": [
2727
"#!pip install \"vitessce[all]==3.3.0\" esbuild_py anndata\n",
28-
"!pip install \"mlxtend~=0.23.0\"\n",
28+
"#!pip install \"mlxtend~=0.23.0\"\n",
2929
"#!pip install -i \"https://test.pypi.org/simple/\" SpatialQuery\n",
30-
"!pip install \"SpatialQuery @ git+https://github.com/ShaokunAn/Spatial-Query@main\""
30+
"#!uv pip install \"pybind11\"\n",
31+
"#!uv pip install \"SpatialQuery @ git+https://github.com/ShaokunAn/Spatial-Query@main\""
3132
]
3233
},
3334
{
3435
"cell_type": "code",
35-
"execution_count": 1,
36+
"execution_count": 2,
37+
"metadata": {},
38+
"outputs": [
39+
{
40+
"ename": "ImportError",
41+
"evalue": "dlopen(/Users/mkeller/research/dbmi/vitessce/vitessce-python/.venv/lib/python3.10/site-packages/SpatialQueryEliasFanoDB.cpython-310-darwin.so, 0x0002): symbol not found in flat namespace '__ZNSt3__113__hash_memoryEPKvm'",
42+
"output_type": "error",
43+
"traceback": [
44+
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
45+
"\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)",
46+
"Cell \u001b[0;32mIn[2], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mSpatialQuery\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m spatial_query\n",
47+
"File \u001b[0;32m~/research/dbmi/vitessce/vitessce-python/.venv/lib/python3.10/site-packages/SpatialQuery/__init__.py:1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mspatial_query\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m spatial_query\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mspatial_query_multiple_fov\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m spatial_query_multi\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutils\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m maximal_patterns, retrieve_niche_pattern_freq, plot_niche_pattern_freq\n",
48+
"File \u001b[0;32m~/research/dbmi/vitessce/vitessce-python/.venv/lib/python3.10/site-packages/SpatialQuery/spatial_query.py:20\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mstatsmodels\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mstats\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mmultitest\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m multipletests\n\u001b[1;32m 18\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtime\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m time\n\u001b[0;32m---> 20\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mscfind4sp\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m SCFind\n\u001b[1;32m 21\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mscanpy\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01msc\u001b[39;00m\n\u001b[1;32m 22\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m spatial_utils, spatial_gene_covarying, plotting\n",
49+
"File \u001b[0;32m~/research/dbmi/vitessce/vitessce-python/.venv/lib/python3.10/site-packages/SpatialQuery/scfind4sp/__init__.py:1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mcore_methods\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m SCFind\n\u001b[1;32m 3\u001b[0m __all__ \u001b[38;5;241m=\u001b[39m [\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mSCFind\u001b[39m\u001b[38;5;124m'\u001b[39m]\n",
50+
"File \u001b[0;32m~/research/dbmi/vitessce/vitessce-python/.venv/lib/python3.10/site-packages/SpatialQuery/scfind4sp/core_methods.py:7\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mpandas\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mpd\u001b[39;00m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mscipy\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01msparse\u001b[39;00m\n\u001b[0;32m----> 7\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mSpatialQueryEliasFanoDB\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m EliasFanoDB\n\u001b[1;32m 8\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01manndata\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m AnnData\n\u001b[1;32m 9\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01manndata\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mad\u001b[39;00m\n",
51+
"\u001b[0;31mImportError\u001b[0m: dlopen(/Users/mkeller/research/dbmi/vitessce/vitessce-python/.venv/lib/python3.10/site-packages/SpatialQueryEliasFanoDB.cpython-310-darwin.so, 0x0002): symbol not found in flat namespace '__ZNSt3__113__hash_memoryEPKvm'"
52+
]
53+
}
54+
],
55+
"source": [
56+
"from SpatialQuery import spatial_query"
57+
]
58+
},
59+
{
60+
"cell_type": "code",
61+
"execution_count": 3,
3662
"metadata": {},
3763
"outputs": [],
3864
"source": [
@@ -50,7 +76,7 @@
5076
},
5177
{
5278
"cell_type": "code",
53-
"execution_count": 2,
79+
"execution_count": 4,
5480
"metadata": {},
5581
"outputs": [],
5682
"source": [
@@ -61,9 +87,22 @@
6187
},
6288
{
6389
"cell_type": "code",
64-
"execution_count": 3,
90+
"execution_count": 5,
6591
"metadata": {},
66-
"outputs": [],
92+
"outputs": [
93+
{
94+
"ename": "ModuleNotFoundError",
95+
"evalue": "No module named 'SpatialQuery'",
96+
"output_type": "error",
97+
"traceback": [
98+
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
99+
"\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
100+
"Cell \u001b[0;32mIn[5], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m plugin \u001b[38;5;241m=\u001b[39m \u001b[43mSpatialQueryPlugin\u001b[49m\u001b[43m(\u001b[49m\u001b[43madata\u001b[49m\u001b[43m)\u001b[49m\n",
101+
"File \u001b[0;32m~/research/dbmi/vitessce/vitessce-python/src/vitessce/widget_plugins/spatial_query.py:217\u001b[0m, in \u001b[0;36mSpatialQueryPlugin.__init__\u001b[0;34m(self, adata, spatial_key, label_key, feature_name, if_lognorm)\u001b[0m\n\u001b[1;32m 192\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__init__\u001b[39m(\u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 193\u001b[0m adata,\n\u001b[1;32m 194\u001b[0m spatial_key\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mX_spatial\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 197\u001b[0m if_lognorm\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m,\n\u001b[1;32m 198\u001b[0m ):\n\u001b[1;32m 199\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 200\u001b[0m \u001b[38;5;124;03m Construct a new Vitessce widget.\u001b[39;00m\n\u001b[1;32m 201\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 215\u001b[0m \u001b[38;5;124;03m vc.widget(plugins=[plugin], remount_on_uid_change=False)\u001b[39;00m\n\u001b[1;32m 216\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 217\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mSpatialQuery\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m spatial_query\n\u001b[1;32m 218\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mmatplotlib\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpyplot\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mplt\u001b[39;00m \u001b[38;5;66;03m# Add as dependency / optional dependency?\u001b[39;00m\n\u001b[1;32m 220\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39madata \u001b[38;5;241m=\u001b[39m adata\n",
102+
"\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'SpatialQuery'"
103+
]
104+
}
105+
],
67106
"source": [
68107
"plugin = SpatialQueryPlugin(adata)"
69108
]

pyproject.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,13 @@ demos = [
9999
"snakemake",
100100
"pyyaml",
101101
]
102+
sq = [
103+
# SpatialQuery
104+
# To install: uv sync --extra sq --no-build-isolation-package SpatialQuery
105+
# or: uv sync --extra all --extra notebook --extra sq --no-build-isolation-package SpatialQuery
106+
"pybind11",
107+
"SpatialQuery @ git+https://github.com/ShaokunAn/Spatial-Query@main"
108+
]
102109

103110
[dependency-groups]
104111
dev = [
@@ -125,6 +132,9 @@ override-dependencies = []
125132
[tool.hatch.build]
126133
exclude = [".github", "docs", "demos", "binder"]
127134

135+
[tool.hatch.metadata]
136+
allow-direct-references = true
137+
128138
[project.urls]
129139
repository = "https://github.com/vitessce/vitessce-python"
130140

0 commit comments

Comments
 (0)