kaizendorks / kaizendorks/pymongo_inmemory
TypeError: expected str, bytes or os.PathLike object, not int on self._mongod.start()
- Dominant language
- Python
- Stars
- 53
- Forks
- 18
- PR merge metrics
- No merged PRs in 30d
Description
**Describe the bug**
subprocess fails to load mongod on os x
**To Reproduce**
Steps to reproduce the behavior:
```python
import pytest
from pymongo_inmemory import MongoClient
if not os.path.exists("mongo_dl_cache/download") or not os.path.exists("mongo_dl_cache/extract"):
os.makedirs("mongo_dl_cache/download")
os.makedirs("mongo_dl_cache/extract")
os.makedirs("mongo_dl_cache/data")
os.environ["PYMONGOIM__DOWNLOAD_FOLDER"]="mongo_dl_cache/download"
os.environ["PYMONGOIM__MONGOD_PORT"]= "27017"
os.environ["PYMONGOIM__EXTRACT_FOLDER"]="mongo_dl_cache/extract"
os.environ["PYMONGOIM__MONGOD_DATA_FOLDER"]="mongo_dl_cache/data"
os.environ["PYMONGOIM__DOWNLOAD_URL"]="https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-6.0.12.tgz"
client = MongoClient()
```
**Expected behavior**
MongoClient should connect.
**Logs**
If applicable, add any kind of collected logs to help us understand the problem.
> ../../opt/anaconda3/envs/py311/lib/python3.11/site-packages/pymongo_inmemory/_pim.py:15: in __init__
> self._mongod.start()
> ../../opt/anaconda3/envs/py311/lib/python3.11/site-packages/pymongo_inmemory/mongod.py:142: in start
> self._proc = subprocess.Popen(boot_command)
> ../../opt/anaconda3/envs/py311/lib/python3.11/subprocess.py:1026: in __init__
> self._execute_child(args, executable, preexec_fn, close_fds,
> self =
> args = ['mongo_dl_cache/extract/c42eeac2efb615d0fe8562483f94326dcfeeb5a97cdeb3b4263c92a8ff27d04e/mongodb-macos-x86_64-6.0.12/bin/mongod', '--dbpath', 'mongo_dl_cache/data', '--logpath', 'mongo_dl_cache/data/mongod.log', '--port', ...]
> executable = b'mongo_dl_cache/extract/c42eeac2efb615d0fe8562483f94326dcfeeb5a97cdeb3b4263c92a8ff27d04e/mongodb-macos-x86_64-6.0.12/bin/mongod'
> preexec_fn = None, close_fds = True, pass_fds = (), cwd = None, env = None, startupinfo = None, creationflags = 0
> shell = False, p2cread = -1, p2cwrite = -1, c2pread = -1, c2pwrite = -1, errread = -1, errwrite = -1
> restore_signals = True, gid = None, gids
= None, uid = None, umask = -1, start_new_session = False, process_group = -1
> Offending line: self.pid = _fork_exec(
> args, executable_list,
> close_fds, tuple(sorted(map(int, fds_to_keep))),
> cwd, env_list,
> p2cread, p2cwrite, c2pread, c2pwrite,
> errread, errwrite,
> errpipe_read, errpipe_write,
> restore_signals, start_new_session,
> process_group, gid, gids, uid, umask,
> preexec_fn, _USE_VFORK)
> E **TypeError: expected str, bytes or os.PathLike object, not int**
**Context:**
- OS: OS X Ventura 13.5.1 Intel based
- Version of pymongo_inmemory 0.4.0
- Version of mongo you are downloading [e.g. 4.0] I have tried 6.0.12 and the latest 7.0.4
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.