无法使用虚拟环境在 Windows Ubuntu WSL 中启动 Scrapy 项目
Failing to start a Scrapy project within Windows Ubuntu WSL using virtual environment
我是 Scrapy 的新手,发现这个错误让我很困惑。我在 Windows 机器上工作,并使用 Ubuntu 子系统 (WSL) 来完成我所有的开发工作。我已经创建了一个虚拟环境并尝试开始学习Scrapy,但是,每当我在虚拟环境中尝试创建一个新项目时,就会出现以下错误并且无法成功创建文件。
OS: Windows 10
环境:Windows10 - WSL Ubuntu20.04.1
Python: Python 3.8.5
重现问题:
python3 -m venv /Directory/
source /Directory/bin/activate
(venv) pip install scrapy
(venv) scrapy startproject /directory/
错误信息:
Traceback (most recent call last):
File "/mnt/c/Users/.../bin/scrapy", line 10, in <module>
sys.exit(execute())
File "/mnt/c/Users/.../lib/python3.8/site-packages/scrapy/cmdline.py", line 145, in
execute
_run_print_help(parser, _run_command, cmd, args, opts)
File "/mnt/c/Users/.../lib/python3.8/site-packages/scrapy/cmdline.py", line 100, in
_run_print_help
func(*a, **kw)
File "/mnt/c/Users/.../lib/python3.8/site-packages/scrapy/cmdline.py", line 153, in
_run_command
cmd.run(args, opts)
File "/mnt/c/Users/.../lib/python3.8/site-packages/scrapy/commands/startproject.py", line 110, in run
self._copytree(self.templates_dir, abspath(project_dir))
File "/mnt/c/Users/.../lib/python3.8/site-packages/scrapy/commands/startproject.py", line 83, in _copytree
self._copytree(srcname, dstname)
File "/mnt/c/Users/.../lib/python3.8/site-packages/scrapy/commands/startproject.py", line 83, in _copytree
self._copytree(srcname, dstname)
File "/mnt/c/Users/.../lib/python3.8/site-packages/scrapy/commands/startproject.py", line 88, in _copytree
copystat(src, dst)
File "/usr/lib/python3.8/shutil.py", line 376, in copystat
_copyxattr(src, dst, follow_symlinks=follow)
File "/usr/lib/python3.8/shutil.py", line 326, in _copyxattr
os.setxattr(dst, name, value, follow_symlinks=follow_symlinks)
PermissionError: [Errno 13] Permission denied: '/mnt/c/Users/.../module/spiders'
奇怪的是,当我不使用虚拟环境时,它工作得很好。有什么办法可以解决这个问题吗?
非常感谢。
而不是
python3 -m venv /Directory/
尝试
python3 -m venv Directory
前者将您的虚拟环境作为目录放在 / 而不是当前目录中。
(请不要调用你的虚拟环境目录;))
我是 Scrapy 的新手,发现这个错误让我很困惑。我在 Windows 机器上工作,并使用 Ubuntu 子系统 (WSL) 来完成我所有的开发工作。我已经创建了一个虚拟环境并尝试开始学习Scrapy,但是,每当我在虚拟环境中尝试创建一个新项目时,就会出现以下错误并且无法成功创建文件。
OS: Windows 10
环境:Windows10 - WSL Ubuntu20.04.1
Python: Python 3.8.5
重现问题:
python3 -m venv /Directory/
source /Directory/bin/activate
(venv) pip install scrapy
(venv) scrapy startproject /directory/
错误信息:
Traceback (most recent call last):
File "/mnt/c/Users/.../bin/scrapy", line 10, in <module>
sys.exit(execute())
File "/mnt/c/Users/.../lib/python3.8/site-packages/scrapy/cmdline.py", line 145, in
execute
_run_print_help(parser, _run_command, cmd, args, opts)
File "/mnt/c/Users/.../lib/python3.8/site-packages/scrapy/cmdline.py", line 100, in
_run_print_help
func(*a, **kw)
File "/mnt/c/Users/.../lib/python3.8/site-packages/scrapy/cmdline.py", line 153, in
_run_command
cmd.run(args, opts)
File "/mnt/c/Users/.../lib/python3.8/site-packages/scrapy/commands/startproject.py", line 110, in run
self._copytree(self.templates_dir, abspath(project_dir))
File "/mnt/c/Users/.../lib/python3.8/site-packages/scrapy/commands/startproject.py", line 83, in _copytree
self._copytree(srcname, dstname)
File "/mnt/c/Users/.../lib/python3.8/site-packages/scrapy/commands/startproject.py", line 83, in _copytree
self._copytree(srcname, dstname)
File "/mnt/c/Users/.../lib/python3.8/site-packages/scrapy/commands/startproject.py", line 88, in _copytree
copystat(src, dst)
File "/usr/lib/python3.8/shutil.py", line 376, in copystat
_copyxattr(src, dst, follow_symlinks=follow)
File "/usr/lib/python3.8/shutil.py", line 326, in _copyxattr
os.setxattr(dst, name, value, follow_symlinks=follow_symlinks)
PermissionError: [Errno 13] Permission denied: '/mnt/c/Users/.../module/spiders'
奇怪的是,当我不使用虚拟环境时,它工作得很好。有什么办法可以解决这个问题吗?
非常感谢。
而不是
python3 -m venv /Directory/
尝试
python3 -m venv Directory
前者将您的虚拟环境作为目录放在 / 而不是当前目录中。
(请不要调用你的虚拟环境目录;))